diff mbox series

Bug 26684 - Support DW_AT_data_bit_offset attribute

Message ID 8735yfhq1y.fsf@redhat.com
State New
Headers show
Series Bug 26684 - Support DW_AT_data_bit_offset attribute | expand

Commit Message

Dodji Seketeli Feb. 1, 2021, 1:32 p.m. UTC
Hello,

This patch adds support for the DW_AT_data_bit_offset DWARF 5
attribute.  Note that this attribute has been introduced in prior
versions of DWARF, but since the version 5, it supersedes the
DW_AT_bit_offset attribute.

Note that Libabigail was wrongly interpreting the DW_AT_bit_offset
attribute.  It was considering it as the offset of the bit field data
member, starting from the least significant bit of the containing
structure.  That is not the case on little endian machines,
unfortunately.

So this patch fixes that mistake.

So with this patch, we can now compare a binary using DW_AT_bit_offset
against a binary using DW_AT_data_bit_offset and expect things to work
correctly.

The problem is that abixml files generated with Libabigail versions
prior to this patch contain bit field data member offset values that
are not compatible with those contained in abixml files generated with
this version, onward.

So I guess a subsequent patch is needed to introduce a new abixml
version string (maybe "2.0") that would be deemed incompatible with
the previous "1.0" one.  That way, we can prevent comparing 2.0 abixml
files against 1.0 ones in abidiff, for instance.

For now, the patch adjusts the various abixml files to make them
reflect the proper representation of DW_AT_bit_offset on little endian
machines.

	* src/abg-dwarf-reader.cc (read_and_convert_DW_at_bit_offset):
	Define new static function.
	(die_member_offset): Primarily use DW_AT_data_bit_offset if its
	present.  Otherwise, look for DW_AT_bit_offset.  Use the new
	read_and_convert_DW_at_bit_offset function to properly interpret
	DW_AT_bit_offset if its present.  Update comment.
	* tests/data/test-diff-filter/test-PR26684-dwarf{4,5}.o: New
	binary test inputs.
	* tests/data/test-diff-filter/test-PR26684.c: Source code of the
	new binary test inputs above.
	* tests/data/test-diff-filter/test-PR26684-report-0.txt: New
	reference test output.
	* tests/data/Makefile.am: Add the new test material above to
	source distribution.
	* tests/test-diff-filter.cc (in_out_specs): Add the test inputs
	above to this test harness.
	* tests/data/test-annotate/test13-pr18894.so.abi: Adjust.
	* tests/data/test-annotate/test15-pr18892.so.abi: Adjust.
	* tests/data/test-annotate/test17-pr19027.so.abi: Adjust.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Adjust.
	* tests/data/test-annotate/test21-pr19092.so.abi: Adjust.
	* tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
	Adjust.
	* tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt:
	Adjust.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Adjust.
	* tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
	Adjust.
	* tests/data/test-read-dwarf/test13-pr18894.so.abi: Adjust.
	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Adjust.
	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Adjust.
	* tests/data/test-read-dwarf/test17-pr19027.so.abi: Adjust.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/test21-pr19092.so.abi: Adjust.
	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
	Adjust.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

Applied to master.

---
 src/abg-dwarf-reader.cc                       | 254 +++++++++++++++++-
 tests/data/Makefile.am                        |   4 +
 .../data/test-annotate/test13-pr18894.so.abi  |  64 ++---
 .../data/test-annotate/test15-pr18892.so.abi  |   4 +-
 .../data/test-annotate/test17-pr19027.so.abi  |  12 +-
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |  16 +-
 .../data/test-annotate/test21-pr19092.so.abi  |  80 +++---
 .../PR25409-librte_bus_dpaa.so.20.0.abi       | 214 +++++++--------
 .../test-diff-filter/test-PR26684-dwarf4.o    | Bin 0 -> 2336 bytes
 .../test-diff-filter/test-PR26684-dwarf5.o    | Bin 0 -> 2320 bytes
 .../test-PR26684-report-0.txt                 |   0
 tests/data/test-diff-filter/test-PR26684.c    |  14 +
 ...4--libcdio-0.94-2.fc26.x86_64-report.1.txt |  18 +-
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi | 174 ++++++------
 .../PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi |  48 ++--
 .../test-read-dwarf/test13-pr18894.so.abi     |  64 ++---
 .../test-read-dwarf/test15-pr18892.so.abi     |   4 +-
 .../test-read-dwarf/test16-pr18904.so.abi     |  44 +--
 .../test-read-dwarf/test17-pr19027.so.abi     |  12 +-
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |  16 +-
 .../test-read-dwarf/test21-pr19092.so.abi     |  80 +++---
 .../test22-pr19097-libstdc++.so.6.0.17.so.abi |  14 +-
 tests/test-diff-filter.cc                     |   7 +
 23 files changed, 699 insertions(+), 444 deletions(-)
 create mode 100644 tests/data/test-diff-filter/test-PR26684-dwarf4.o
 create mode 100644 tests/data/test-diff-filter/test-PR26684-dwarf5.o
 create mode 100644 tests/data/test-diff-filter/test-PR26684-report-0.txt
 create mode 100644 tests/data/test-diff-filter/test-PR26684.c
diff mbox series

Patch

diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index 4b39e966..761af3ec 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -10307,6 +10307,223 @@  eval_last_constant_dwarf_sub_expr(Dwarf_Op*	expr,
 // </location expression evaluation>
 // -----------------------------------
 
+/// Convert the value of the DW_AT_bit_offset attribute into the value
+/// of the DW_AT_data_bit_offset attribute.
+///
+/// On big endian machines, the value of the DW_AT_bit_offset
+/// attribute is the same as the value of the DW_AT_data_bit_offset
+/// attribute.
+///
+/// On little endian machines however, the situation is different.
+/// The DW_AT_bit_offset value for a bit field is the number of bits
+/// to the left of the most significant bit of the bit field.
+///
+/// The DW_AT_data_bit_offset offset value is the number of bits to
+/// the right of the least significant bit of the bit field.
+///
+/// In other words, DW_AT_data_bit_offset is what everybody would
+/// instinctively think of as being the "offset of the bit
+/// field". DW_AT_bit_offset however is very counter-intuitive on
+/// little endian machines.
+///
+/// This function thus reads the value of a DW_AT_bit_offset property
+/// of a DIE and converts it into what the DW_AT_data_bit_offset would
+/// have been if it was present.
+///
+/// Note that DW_AT_bit_offset has been made obsolete starting from
+/// DWARF5.
+///
+/// If you like coffee and it's not too late, now might be a good time
+/// to have a coffee break.  Otherwise if it's late at night, you
+/// might want to consider an herbal tea break.  Then come back to
+/// read this.
+///
+///
+/// Okay, to have a better idea of what DW_AT_bit_offset and
+/// DW_AT_data_bit_offset represent, let's consider a struct 'S' which
+/// have bit fields data members defined as:
+///
+///      struct S
+///      {
+///        int j:5;
+///        int k:6;
+///        int m:5;
+///        int n:8;
+///      };
+///
+/// The below wonderful (at least!) ASCII art sketch describes the
+/// layout of the bitfields of 'struct S' on a little endian machine.
+/// You need to read the sketch from the bottom-up.
+///
+/// So please scroll down to its bottom.  Note how the 32 bits integer
+/// word containing the bit fields is laid out with its least
+/// significant bit starting on the right hand side, at index 0.
+///
+/// Then slowly scroll up starting from there, and take the time to
+/// read each line and see how the bit fields are laid out and what
+/// DW_AT_bit_offset and DW_AT_data_bit_offset represent for each of
+/// the bit fields.
+///
+/// DW_AT_bit_offset(n)
+/// <   - - - - - - >
+/// |               |       n      |
+/// ^               ^< - -   - -  >^
+///                                           DW_AT_data_bit_offset(n)
+///                                <  - - - - -  - - - - - - - - - - >
+///                                |                                 |
+///                                ^                                 ^
+///                 DW_AT_bit_offset(m)
+/// <--------------------------------->
+/// |                                 |   m   |
+/// ^                                 ^<  -  >^
+///                                           DW_AT_data_bit_offset(m)
+///                                           <  - - - - - - - - - - >
+///                                           |                      |
+///                                           ^                      ^
+///                           DW_AT_bit_offset(k)
+/// <-------------------------------------------->
+/// |                                            |    k    |
+/// ^                                            ^<  - -  >^
+///                                                     DW_AT_data_bit_offset(k)
+///                                                        < - - - - >
+///                                                        |         |
+///                                                        ^         ^
+///                                      DW_AT_bit_offset(j)
+/// <-------------------------------------------------------->
+/// |                                                        |
+/// ^                                                        ^
+///                       n               m          k          j
+///                 <  - - - - - - >  < - - - >  < - - - - > < - - - >
+///                                                                   
+/// | | | | | | | | |  | | | | | | |  | | | | |  | | | | | | | | | | |
+/// ^       ^       ^              ^  ^       ^  ^       ^ ^ ^       ^
+/// 31      27      23             16 15      11 10      6 5 4       0
+///
+/// So, the different bit fields all fit in one 32 bits word, assuming
+/// the bit fields are tightly packed.
+///
+/// Let's look at what DW_AT_bit_offset of the 'j' bit field would be
+/// on this little endian machine and let's see how it relates to
+/// DW_AT_data_bit_offset of j.
+///
+/// DW_AT_bit_offset(j) would be equal to the number of bits from the
+/// left of the 32 bits word (i.e from bit number 31) to the most
+/// significant bit of the j bit field (i.e, bit number 4).  Thus:
+///
+///       DW_AT_bit_offset(j) =
+///         sizeof_in_bits(int) - size_in_bits_of(j) = 32 - 5 = 27.
+///
+/// DW_AT_data_bit_offset(j) is the number of bits from the right of the
+/// 32 bits word (i.e, bit number 0) to the lest significant bit of
+/// the 'j' bit field (ie, bit number 0).  Thus:
+///
+///       DW_AT_data_bit_offset(j) = 0.
+///
+/// More generally, we can notice that:
+///
+///       sizeof_in_bits(int) =
+///         DW_AT_bit_offset(j) + sizeof_in_bits(j) + DW_AT_data_bit_offset(j).
+///
+/// It follows that:
+///
+///       DW_AT_data_bit_offset(j) =
+///          sizeof_in_bits(int) - sizeof_in_bits(j) - DW_AT_bit_offset(j);
+///
+/// Thus:
+///
+///       DW_AT_data_bit_offset(j) = 32 - 27 - 5 = 0;
+///
+/// Note that DW_AT_data_bit_offset(j) is the offset of 'j' starting
+/// from the right hand side of the word.  It is what we would
+/// intuitively think it is.  DW_AT_bit_offset however is super
+/// counter-intuitive, pfff.
+///
+/// Anyway, this general equation holds true for all bit fields.
+///
+/// Similarly, it follows that:
+///
+///       DW_AT_bit_offset(k) =
+///         sizeof_in_bits(int) - sizeof_in_bits(k) - DW_AT_data_bit_offset(k);
+///
+/// Thus:
+///       DW_AT_bit_offset(k) = 32 - 6 - 5 = 21.
+///
+///
+/// Likewise:
+///
+///      DW_AT_bit_offset(m) =
+///        sizeof_in_bits(int) - sizeof_in_bits(m) - DW_AT_data_bit_offset(m);
+///
+///
+/// Thus:
+///      DW_AT_bit_offset(m) = 32 - 5 - (5 + 6) = 16.
+///
+/// And:
+///
+///
+/// Lastly:
+///
+///      DW_AT_bit_offset(n) =
+///        sizeof_in_bits(int) - sizeof_in_bits(n) - DW_AT_bit_offset(n);
+///
+/// Thus:
+///      DW_AT_bit_offset(n) = 32 - 8 - (5 + 6 + 5) = 8.
+///
+/// Luckily, the body of the function is much smaller than this
+/// comment.  Enjoy!
+///
+/// @param die the DIE to consider.
+///
+/// @param is_big_endian this is true iff the machine we are looking at
+/// is big endian.
+///
+/// @param offset this is the output parameter into which the value of
+/// the DW_AT_bit_offset is put, converted as if it was the value of
+/// the DW_AT_data_bit_offset parameter.  This parameter is set iff
+/// the function returns true.
+///
+/// @return true if DW_AT_bit_offset was found on @p die.
+static bool
+read_and_convert_DW_at_bit_offset(const Dwarf_Die* die,
+				  bool is_big_endian,
+				  uint64_t &offset)
+{
+  uint64_t off = 0;
+  if (!die_unsigned_constant_attribute(die, DW_AT_bit_offset, off))
+    return false;
+
+  if (is_big_endian)
+    {
+      offset = off;
+      return true;
+    }
+
+  // Okay, we are looking at a little endian machine.  We need to
+  // convert DW_AT_bit_offset into what DW_AT_data_bit_offset would
+  // have been.  To understand this, you really need to read the
+  // preliminary comment of this function.
+  uint64_t containing_anonymous_object_size = 0;
+  ABG_ASSERT(die_unsigned_constant_attribute(die, DW_AT_byte_size,
+					     containing_anonymous_object_size));
+  containing_anonymous_object_size *= 8;
+
+  uint64_t bitfield_size = 0;
+  ABG_ASSERT(die_unsigned_constant_attribute(die, DW_AT_bit_size,
+					     bitfield_size));
+
+  // As noted in the the preliminary comment of this function if we
+  // want to get the DW_AT_data_bit_offset of a bit field 'k' from the
+  // its DW_AT_bit_offset value, the equation is:
+  //
+  //     DW_AT_data_bit_offset(k) =
+  //       sizeof_in_bits(containing_anonymous_object_size)
+  //       - DW_AT_data_bit_offset(k)
+  //       - sizeof_in_bits(k)
+  offset = containing_anonymous_object_size - off - bitfield_size;
+
+  return true;
+}
+
 /// Get the offset of a struct/class member as represented by the
 /// value of the DW_AT_data_member_location attribute.
 ///
@@ -10314,10 +10531,10 @@  eval_last_constant_dwarf_sub_expr(Dwarf_Op*	expr,
 /// DW_AT_data_member_location is not necessarily a constant that one
 /// would just read and be done with it.  Rather, it can be a DWARF
 /// expression that one has to interpret.  In general, the offset can
-/// be given by the DW_AT_bit_offset attribute.  In that case the
-/// offset is a constant.  But it can also be given by the
-/// DW_AT_data_member_location attribute.  In that case it's a DWARF
-/// location expression.
+/// be given by the DW_AT_bit_offset or DW_AT_data_bit_offset
+/// attribute.  In that case the offset is a constant.  But it can
+/// also be given by the DW_AT_data_member_location attribute.  In
+/// that case it's a DWARF location expression.
 ///
 /// When the it's the DW_AT_data_member_location that is present,
 /// there are three cases to possibly take into account:
@@ -10363,15 +10580,28 @@  die_member_offset(const read_context& ctxt,
   uint64_t expr_len = 0;
   uint64_t off = 0;
 
-  if (die_unsigned_constant_attribute(die, DW_AT_bit_offset, off))
+  // First let's see if the DW_AT_data_bit_offset attribute is
+  // present.
+  if (die_unsigned_constant_attribute(die, DW_AT_data_bit_offset, off))
     {
-      // The DW_AT_bit_offset is present.  If it contains a non-zero
-      // value, let's read that one.
-      if (off != 0)
-	{
-	  offset = off;
-	  return true;
-	}
+      offset = off;
+      return true;
+    }
+
+  // Otherwise, let's see if the DW_AT_bit_offset attribute is
+  // present.  On little endian machines, we need to convert this
+  // attribute into what it would have been if the
+  // DW_AT_data_bit_offset was used instead.  In other words,
+  // DW_AT_bit_offset needs to be converted into a
+  // human-understandable form that represents the offset of the
+  // bitfield data member it describes.  For details about the
+  // conversion, please read the extensive comments of
+  // read_and_convert_DW_at_bit_offset.
+  bool is_big_endian = architecture_is_big_endian(ctxt.elf_handle());
+  if (read_and_convert_DW_at_bit_offset(die, is_big_endian, off))
+    {
+      offset = off;
+      return true;
     }
 
   if (!die_location_expr(die, DW_AT_data_member_location, &expr, &expr_len))
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index a23dbc63..e1354534 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -913,6 +913,10 @@  test-diff-filter/test-PR26739-2-v0.c         \
 test-diff-filter/test-PR26739-2-v0.o         \
 test-diff-filter/test-PR26739-2-v1.o         \
 test-diff-filter/test-PR26739-2-report-0.txt \
+test-diff-filter/test-PR26684-dwarf5.o 	     \
+test-diff-filter/test-PR26684-dwarf4.o       \
+test-diff-filter/test-PR26684.c              \
+test-diff-filter/test-PR26684-report-0.txt   \
 \
 test-diff-suppr/test0-type-suppr-v0.cc	\
 test-diff-suppr/test0-type-suppr-v1.cc	\
diff --git a/tests/data/test-annotate/test13-pr18894.so.abi b/tests/data/test-annotate/test13-pr18894.so.abi
index 5e51cac5..cad84c9b 100644
--- a/tests/data/test-annotate/test13-pr18894.so.abi
+++ b/tests/data/test-annotate/test13-pr18894.so.abi
@@ -516,19 +516,19 @@ 
         <!-- int DBusString::dummy3 -->
         <var-decl name='dummy3' type-id='type-id-2' visibility='default' filepath='../dbus/dbus-string.h' line='50' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int DBusString::dummy_bit1 -->
         <var-decl name='dummy_bit1' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='51' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int DBusString::dummy_bit2 -->
         <var-decl name='dummy_bit2' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='52' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <!-- unsigned int DBusString::dummy_bit3 -->
         <var-decl name='dummy_bit3' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='53' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <!-- unsigned int DBusString::dummy_bits -->
         <var-decl name='dummy_bits' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='54' column='1'/>
       </data-member>
@@ -562,23 +562,23 @@ 
         <!-- const char* DBusError::message -->
         <var-decl name='message' type-id='type-id-15' visibility='default' filepath='../dbus/dbus-errors.h' line='51' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int DBusError::dummy1 -->
         <var-decl name='dummy1' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='53' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int DBusError::dummy2 -->
         <var-decl name='dummy2' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='54' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <!-- unsigned int DBusError::dummy3 -->
         <var-decl name='dummy3' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='55' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <!-- unsigned int DBusError::dummy4 -->
         <var-decl name='dummy4' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='56' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <!-- unsigned int DBusError::dummy5 -->
         <var-decl name='dummy5' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='57' column='1'/>
       </data-member>
@@ -799,27 +799,27 @@ 
         <!-- dbus_bool_t DBusConnection::io_path_acquired -->
         <var-decl name='io_path_acquired' type-id='type-id-17' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='313' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int DBusConnection::shareable -->
         <var-decl name='shareable' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='315' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int DBusConnection::exit_on_disconnect -->
         <var-decl name='exit_on_disconnect' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='317' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <!-- unsigned int DBusConnection::route_peer_messages -->
         <var-decl name='route_peer_messages' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='319' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <!-- unsigned int DBusConnection::disconnected_message_arrived -->
         <var-decl name='disconnected_message_arrived' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='321' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <!-- unsigned int DBusConnection::disconnected_message_processed -->
         <var-decl name='disconnected_message_processed' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='325' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <!-- unsigned int DBusConnection::have_connection_lock -->
         <var-decl name='have_connection_lock' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='330' column='1'/>
       </data-member>
@@ -1087,11 +1087,11 @@ 
         <!-- DBusString DBusMessage::body -->
         <var-decl name='body' type-id='type-id-7' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='105' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int DBusMessage::locked -->
         <var-decl name='locked' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='107' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int DBusMessage::in_cache -->
         <var-decl name='in_cache' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='110' column='1'/>
       </data-member>
@@ -1103,7 +1103,7 @@ 
         <!-- long int DBusMessage::size_counter_delta -->
         <var-decl name='size_counter_delta' type-id='type-id-80' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='114' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- dbus_uint32_t DBusMessage::changed_stamp -->
         <var-decl name='changed_stamp' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='116' column='1'/>
       </data-member>
@@ -1173,11 +1173,11 @@ 
         <!-- DBusHeaderField DBusHeader::fields[10] -->
         <var-decl name='fields' type-id='type-id-84' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='54' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- dbus_uint32_t DBusHeader::padding -->
         <var-decl name='padding' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='58' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <!-- dbus_uint32_t DBusHeader::byte_order -->
         <var-decl name='byte_order' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='59' column='1'/>
       </data-member>
@@ -1247,11 +1247,11 @@ 
         <!-- dbus_uint32_t DBusPendingCall::reply_serial -->
         <var-decl name='reply_serial' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='76' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int DBusPendingCall::completed -->
         <var-decl name='completed' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='78' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int DBusPendingCall::timeout_added -->
         <var-decl name='timeout_added' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='79' column='1'/>
       </data-member>
@@ -1288,7 +1288,7 @@ 
         <!-- DBusFreeFunction DBusTimeout::free_data_function -->
         <var-decl name='free_data_function' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='50' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int DBusTimeout::enabled -->
         <var-decl name='enabled' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='51' column='1'/>
       </data-member>
@@ -1331,11 +1331,11 @@ 
         <!-- DBusFreeFunction DBusWatch::free_data_function -->
         <var-decl name='free_data_function' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='51' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int DBusWatch::enabled -->
         <var-decl name='enabled' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='52' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int DBusWatch::oom_last_time -->
         <var-decl name='oom_last_time' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='53' column='1'/>
       </data-member>
@@ -1377,11 +1377,11 @@ 
         <!-- DBusString DBusMessage::body -->
         <var-decl name='body' type-id='type-id-7' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='105' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int DBusMessage::locked -->
         <var-decl name='locked' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='107' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int DBusMessage::in_cache -->
         <var-decl name='in_cache' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='110' column='1'/>
       </data-member>
@@ -1393,7 +1393,7 @@ 
         <!-- long int DBusMessage::size_counter_delta -->
         <var-decl name='size_counter_delta' type-id='type-id-80' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='114' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- dbus_uint32_t DBusMessage::changed_stamp -->
         <var-decl name='changed_stamp' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='116' column='1'/>
       </data-member>
@@ -1434,11 +1434,11 @@ 
         <!-- DBusHeaderField DBusHeader::fields[10] -->
         <var-decl name='fields' type-id='type-id-84' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='54' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- dbus_uint32_t DBusHeader::padding -->
         <var-decl name='padding' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='58' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <!-- dbus_uint32_t DBusHeader::byte_order -->
         <var-decl name='byte_order' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='59' column='1'/>
       </data-member>
@@ -3433,11 +3433,11 @@ 
         <!-- char** DBusServer::auth_mechanisms -->
         <var-decl name='auth_mechanisms' type-id='type-id-127' visibility='default' filepath='../dbus/dbus-server-protected.h' line='85' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int DBusServer::disconnected -->
         <var-decl name='disconnected' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-server-protected.h' line='87' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int DBusServer::have_server_lock -->
         <var-decl name='have_server_lock' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-server-protected.h' line='90' column='1'/>
       </data-member>
diff --git a/tests/data/test-annotate/test15-pr18892.so.abi b/tests/data/test-annotate/test15-pr18892.so.abi
index cacace2a..274aceb9 100644
--- a/tests/data/test-annotate/test15-pr18892.so.abi
+++ b/tests/data/test-annotate/test15-pr18892.so.abi
@@ -11541,11 +11541,11 @@ 
         <!-- unsigned int ioctl_desc::req -->
         <var-decl name='req' type-id='type-id-211' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc' line='14' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- ioctl_desc::__anonymous_enum__ ioctl_desc::type -->
         <var-decl name='type' type-id='type-id-599' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc' line='21' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <!-- unsigned int ioctl_desc::size -->
         <var-decl name='size' type-id='type-id-211' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc' line='22' column='1'/>
       </data-member>
diff --git a/tests/data/test-annotate/test17-pr19027.so.abi b/tests/data/test-annotate/test17-pr19027.so.abi
index 427b8703..a0bce9e2 100644
--- a/tests/data/test-annotate/test17-pr19027.so.abi
+++ b/tests/data/test-annotate/test17-pr19027.so.abi
@@ -16877,7 +16877,7 @@ 
             <!-- unsigned short int hb_ot_map_t::lookup_map_t::index -->
             <var-decl name='index' type-id='type-id-89' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='60' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='15'>
+          <data-member access='public' layout-offset-in-bits='0'>
             <!-- unsigned short int hb_ot_map_t::lookup_map_t::auto_zwj -->
             <var-decl name='auto_zwj' type-id='type-id-89' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='61' column='1'/>
           </data-member>
@@ -16914,11 +16914,11 @@ 
             <!-- hb_mask_t hb_ot_map_t::feature_map_t::_1_mask -->
             <var-decl name='_1_mask' type-id='type-id-133' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='51' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='31'>
+          <data-member access='public' layout-offset-in-bits='0'>
             <!-- unsigned int hb_ot_map_t::feature_map_t::needs_fallback -->
             <var-decl name='needs_fallback' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='52' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='30'>
+          <data-member access='public' layout-offset-in-bits='1'>
             <!-- unsigned int hb_ot_map_t::feature_map_t::auto_zwj -->
             <var-decl name='auto_zwj' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='53' column='1'/>
           </data-member>
@@ -17098,15 +17098,15 @@ 
         <!-- hb_mask_t hb_ot_shape_plan_t::kern_mask -->
         <var-decl name='kern_mask' type-id='type-id-133' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-shape-private.hh' line='44' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int hb_ot_shape_plan_t::has_frac -->
         <var-decl name='has_frac' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-shape-private.hh' line='45' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int hb_ot_shape_plan_t::has_kern -->
         <var-decl name='has_kern' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-shape-private.hh' line='46' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <!-- unsigned int hb_ot_shape_plan_t::has_mark -->
         <var-decl name='has_mark' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-shape-private.hh' line='47' column='1'/>
       </data-member>
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 1ba7ead9..0c5063b8 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
@@ -3145,19 +3145,19 @@ 
           <!-- void* tcmalloc::Span::objects -->
           <var-decl name='objects' type-id='type-id-58' visibility='default' filepath='src/span.h' line='50' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
+        <data-member access='public' layout-offset-in-bits='0'>
           <!-- unsigned int tcmalloc::Span::refcount -->
           <var-decl name='refcount' type-id='type-id-64' visibility='default' filepath='src/span.h' line='51' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
+        <data-member access='public' layout-offset-in-bits='16'>
           <!-- unsigned int tcmalloc::Span::sizeclass -->
           <var-decl name='sizeclass' type-id='type-id-64' visibility='default' filepath='src/span.h' line='52' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
+        <data-member access='public' layout-offset-in-bits='24'>
           <!-- unsigned int tcmalloc::Span::location -->
           <var-decl name='location' type-id='type-id-64' visibility='default' filepath='src/span.h' line='53' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
+        <data-member access='public' layout-offset-in-bits='26'>
           <!-- unsigned int tcmalloc::Span::sample -->
           <var-decl name='sample' type-id='type-id-64' visibility='default' filepath='src/span.h' line='54' column='1'/>
         </data-member>
@@ -24392,19 +24392,19 @@ 
           <!-- void* tcmalloc::Span::objects -->
           <var-decl name='objects' type-id='type-id-58' visibility='default' filepath='src/span.h' line='50' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
+        <data-member access='public' layout-offset-in-bits='0'>
           <!-- unsigned int tcmalloc::Span::refcount -->
           <var-decl name='refcount' type-id='type-id-64' visibility='default' filepath='src/span.h' line='51' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
+        <data-member access='public' layout-offset-in-bits='16'>
           <!-- unsigned int tcmalloc::Span::sizeclass -->
           <var-decl name='sizeclass' type-id='type-id-64' visibility='default' filepath='src/span.h' line='52' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
+        <data-member access='public' layout-offset-in-bits='24'>
           <!-- unsigned int tcmalloc::Span::location -->
           <var-decl name='location' type-id='type-id-64' visibility='default' filepath='src/span.h' line='53' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
+        <data-member access='public' layout-offset-in-bits='26'>
           <!-- unsigned int tcmalloc::Span::sample -->
           <var-decl name='sample' type-id='type-id-64' visibility='default' filepath='src/span.h' line='54' column='1'/>
         </data-member>
diff --git a/tests/data/test-annotate/test21-pr19092.so.abi b/tests/data/test-annotate/test21-pr19092.so.abi
index 9d4a6417..4bf3a6c8 100644
--- a/tests/data/test-annotate/test21-pr19092.so.abi
+++ b/tests/data/test-annotate/test21-pr19092.so.abi
@@ -1323,15 +1323,15 @@ 
         <!-- void* obstack::extra_arg -->
         <var-decl name='extra_arg' type-id='type-id-14' visibility='default' filepath='../.././gcc/../include/obstack.h' line='178' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int obstack::use_extra_arg -->
         <var-decl name='use_extra_arg' type-id='type-id-13' visibility='default' filepath='../.././gcc/../include/obstack.h' line='179' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int obstack::maybe_empty_object -->
         <var-decl name='maybe_empty_object' type-id='type-id-13' visibility='default' filepath='../.././gcc/../include/obstack.h' line='180' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <!-- unsigned int obstack::alloc_failed -->
         <var-decl name='alloc_failed' type-id='type-id-13' visibility='default' filepath='../.././gcc/../include/obstack.h' line='184' column='1'/>
       </data-member>
@@ -1453,11 +1453,11 @@ 
         <!-- ht_identifier cpp_hashnode::ident -->
         <var-decl name='ident' type-id='type-id-79' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='677' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int cpp_hashnode::is_directive -->
         <var-decl name='is_directive' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='678' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int cpp_hashnode::directive_index -->
         <var-decl name='directive_index' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='679' column='1'/>
       </data-member>
@@ -1465,11 +1465,11 @@ 
         <!-- unsigned char cpp_hashnode::rid_code -->
         <var-decl name='rid_code' type-id='type-id-27' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='682' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='10'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <!-- node_type cpp_hashnode::type -->
         <var-decl name='type' type-id='type-id-80' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='683' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='128'>
+      <data-member access='public' layout-offset-in-bits='22'>
         <!-- unsigned int cpp_hashnode::flags -->
         <var-decl name='flags' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='684' column='1'/>
       </data-member>
@@ -1638,7 +1638,7 @@ 
         <!-- source_location line_map::start_location -->
         <var-decl name='start_location' type-id='type-id-103' visibility='default' filepath='../.././gcc/../libcpp/include/line-map.h' line='205' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- lc_reason line_map::reason -->
         <var-decl name='reason' type-id='type-id-108' visibility='default' filepath='../.././gcc/../libcpp/include/line-map.h' line='208' column='1'/>
       </data-member>
@@ -1712,7 +1712,7 @@ 
         <!-- unsigned char line_map_ordinary::sysp -->
         <var-decl name='sysp' type-id='type-id-27' visibility='default' filepath='../.././gcc/../libcpp/include/line-map.h' line='84' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <!-- unsigned int line_map_ordinary::column_bits -->
         <var-decl name='column_bits' type-id='type-id-13' visibility='default' filepath='../.././gcc/../libcpp/include/line-map.h' line='87' column='1'/>
       </data-member>
@@ -2745,27 +2745,27 @@ 
         <!-- unsigned short int cpp_macro::paramc -->
         <var-decl name='paramc' type-id='type-id-29' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='60' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='15'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <!-- unsigned int cpp_macro::fun_like -->
         <var-decl name='fun_like' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='63' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='14'>
+      <data-member access='public' layout-offset-in-bits='17'>
         <!-- unsigned int cpp_macro::variadic -->
         <var-decl name='variadic' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='66' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='13'>
+      <data-member access='public' layout-offset-in-bits='18'>
         <!-- unsigned int cpp_macro::syshdr -->
         <var-decl name='syshdr' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='69' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='12'>
+      <data-member access='public' layout-offset-in-bits='19'>
         <!-- unsigned int cpp_macro::used -->
         <var-decl name='used' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='72' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='20'>
         <!-- unsigned int cpp_macro::traditional -->
         <var-decl name='traditional' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='75' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='10'>
+      <data-member access='public' layout-offset-in-bits='21'>
         <!-- unsigned int cpp_macro::extra_tokens -->
         <var-decl name='extra_tokens' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='80' column='1'/>
       </data-member>
@@ -2858,7 +2858,7 @@ 
         <!-- source_location cpp_token::src_loc -->
         <var-decl name='src_loc' type-id='type-id-103' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='224' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- cpp_ttype cpp_token::type -->
         <var-decl name='type' type-id='type-id-181' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='225' column='1'/>
       </data-member>
@@ -6433,15 +6433,15 @@ 
         <!-- bool cpp_buffer::need_line -->
         <var-decl name='need_line' type-id='type-id-1' visibility='default' filepath='../.././libcpp/internal.h' line='326' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='23'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <!-- unsigned int cpp_buffer::warned_cplusplus_comments -->
         <var-decl name='warned_cplusplus_comments' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='332' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='22'>
+      <data-member access='public' layout-offset-in-bits='9'>
         <!-- unsigned int cpp_buffer::from_stage3 -->
         <var-decl name='from_stage3' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='337' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='10'>
         <!-- unsigned int cpp_buffer::return_at_eof -->
         <var-decl name='return_at_eof' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='342' column='1'/>
       </data-member>
@@ -6478,15 +6478,15 @@ 
         <!-- source_location def_pragma_macro::line -->
         <var-decl name='line' type-id='type-id-103' visibility='default' filepath='../.././libcpp/internal.h' line='367' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int def_pragma_macro::syshdr -->
         <var-decl name='syshdr' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='369' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int def_pragma_macro::used -->
         <var-decl name='used' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='371' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <!-- unsigned int def_pragma_macro::is_undef -->
         <var-decl name='is_undef' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='374' column='1'/>
       </data-member>
@@ -8237,7 +8237,7 @@ 
         <!-- source_location cpp_token::src_loc -->
         <var-decl name='src_loc' type-id='type-id-103' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='224' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- cpp_ttype cpp_token::type -->
         <var-decl name='type' type-id='type-id-181' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='225' column='1'/>
       </data-member>
@@ -8346,27 +8346,27 @@ 
         <!-- unsigned short int cpp_macro::paramc -->
         <var-decl name='paramc' type-id='type-id-29' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='60' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='15'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <!-- unsigned int cpp_macro::fun_like -->
         <var-decl name='fun_like' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='63' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='14'>
+      <data-member access='public' layout-offset-in-bits='17'>
         <!-- unsigned int cpp_macro::variadic -->
         <var-decl name='variadic' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='66' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='13'>
+      <data-member access='public' layout-offset-in-bits='18'>
         <!-- unsigned int cpp_macro::syshdr -->
         <var-decl name='syshdr' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='69' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='12'>
+      <data-member access='public' layout-offset-in-bits='19'>
         <!-- unsigned int cpp_macro::used -->
         <var-decl name='used' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='72' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='20'>
         <!-- unsigned int cpp_macro::traditional -->
         <var-decl name='traditional' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='75' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='10'>
+      <data-member access='public' layout-offset-in-bits='21'>
         <!-- unsigned int cpp_macro::extra_tokens -->
         <var-decl name='extra_tokens' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='80' column='1'/>
       </data-member>
@@ -9908,15 +9908,15 @@ 
         <!-- bool cpp_buffer::need_line -->
         <var-decl name='need_line' type-id='type-id-1' visibility='default' filepath='../.././libcpp/internal.h' line='326' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='23'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <!-- unsigned int cpp_buffer::warned_cplusplus_comments -->
         <var-decl name='warned_cplusplus_comments' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='332' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='22'>
+      <data-member access='public' layout-offset-in-bits='9'>
         <!-- unsigned int cpp_buffer::from_stage3 -->
         <var-decl name='from_stage3' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='337' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='10'>
         <!-- unsigned int cpp_buffer::return_at_eof -->
         <var-decl name='return_at_eof' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='342' column='1'/>
       </data-member>
@@ -10045,15 +10045,15 @@ 
         <!-- source_location def_pragma_macro::line -->
         <var-decl name='line' type-id='type-id-103' visibility='default' filepath='../.././libcpp/internal.h' line='367' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int def_pragma_macro::syshdr -->
         <var-decl name='syshdr' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='369' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <!-- unsigned int def_pragma_macro::used -->
         <var-decl name='used' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='371' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <!-- unsigned int def_pragma_macro::is_undef -->
         <var-decl name='is_undef' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='374' column='1'/>
       </data-member>
@@ -12659,26 +12659,26 @@ 
     </union-decl>
     <!-- struct {unsigned int __w_termsig; unsigned int __w_coredump; unsigned int __w_retcode;} -->
     <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='70' column='1' id='type-id-502'>
-      <data-member access='public' layout-offset-in-bits='25'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int __w_termsig -->
         <var-decl name='__w_termsig' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='73' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='7'>
         <!-- unsigned int __w_coredump -->
         <var-decl name='__w_coredump' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='74' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <!-- unsigned int __w_retcode -->
         <var-decl name='__w_retcode' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='75' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct {unsigned int __w_stopval; unsigned int __w_stopsig;} -->
     <class-decl name='__anonymous_struct__1' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='85' column='1' id='type-id-503'>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned int __w_stopval -->
         <var-decl name='__w_stopval' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='88' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <!-- unsigned int __w_stopsig -->
         <var-decl name='__w_stopsig' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='89' column='1'/>
       </data-member>
diff --git a/tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi b/tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi
index 3c4e1021..c9a7bc08 100644
--- a/tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi
+++ b/tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi
@@ -1,4 +1,4 @@ 
-<abi-corpus path='data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0' architecture='elf-amd-x86_64' soname='librte_bus_dpaa.so.20.0'>
+<abi-corpus path='PR25409-librte_bus_dpaa.so.20.0' architecture='elf-amd-x86_64' soname='librte_bus_dpaa.so.20.0'>
   <elf-needed>
     <dependency name='libm.so.6'/>
     <dependency name='libdl.so.2'/>
@@ -587,10 +587,10 @@ 
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__2' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_bman.h' line='57' column='1' id='type-id-79'>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='addr' type-id='type-id-80' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_bman.h' line='62' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='48'>
         <var-decl name='__notaddress' type-id='type-id-80' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_bman.h' line='63' column='1'/>
       </data-member>
     </class-decl>
@@ -1021,19 +1021,19 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='122' column='1' id='type-id-162'>
-      <data-member access='public' layout-offset-in-bits='2'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='liodn_offset' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='132' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='dd' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='133' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='bpid' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='134' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='4'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='__reserved' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='135' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='eliodn_offset' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='136' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='24'>
@@ -1044,10 +1044,10 @@ 
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='141' column='1' id='type-id-163'>
-      <data-member access='public' layout-offset-in-bits='40'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='__notaddress' type-id='type-id-80' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='142' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='addr' type-id='type-id-80' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='144' column='1'/>
       </data-member>
     </class-decl>
@@ -1066,13 +1066,13 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__2' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='160' column='1' id='type-id-164'>
-      <data-member access='public' layout-offset-in-bits='12'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='length20' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='166' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='offset' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='167' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='29'>
         <var-decl name='format' type-id='type-id-167' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='168' column='1'/>
       </data-member>
     </class-decl>
@@ -1085,18 +1085,18 @@ 
       <enumerator name='qm_fd_compound' value='1'/>
     </enum-decl>
     <class-decl name='__anonymous_struct__3' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='172' column='1' id='type-id-165'>
-      <data-member access='public' layout-offset-in-bits='3'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='length29' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='177' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='29'>
         <var-decl name='_format1' type-id='type-id-167' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='178' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__4' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='182' column='1' id='type-id-166'>
-      <data-member access='public' layout-offset-in-bits='3'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='cong_weight' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='187' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='29'>
         <var-decl name='_format2' type-id='type-id-167' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='188' column='1'/>
       </data-member>
     </class-decl>
@@ -1215,7 +1215,7 @@ 
       <data-member access='public' layout-offset-in-bits='32'>
         <var-decl name='rc' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='332' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='orp' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='333' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
@@ -1232,13 +1232,13 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='verb' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='339' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='portal' type-id='type-id-175' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='345' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='2'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='__reserved1' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='346' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='8'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='colour' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='347' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='16'>
@@ -1247,7 +1247,7 @@ 
       <data-member access='public' layout-offset-in-bits='32'>
         <var-decl name='rc' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='350' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='__reserved3' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='351' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
@@ -1371,10 +1371,10 @@ 
       <data-member access='public' layout-offset-in-bits='32'>
         <var-decl name='' type-id='type-id-191' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='460' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='15'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='__reserved2' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='476' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='48'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='ics_cred' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='477' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
@@ -1399,16 +1399,16 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__8' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='444' column='1' id='type-id-195'>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='olws' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='451' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='5'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='oa' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='452' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='2'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='orprws' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='453' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='__reserved1' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='454' column='1'/>
       </data-member>
     </class-decl>
@@ -1421,10 +1421,10 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__9' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='462' column='1' id='type-id-196'>
-      <data-member access='public' layout-offset-in-bits='13'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='wq' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='467' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='channel' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='468' column='1'/>
       </data-member>
     </class-decl>
@@ -1440,21 +1440,21 @@ 
       </data-member>
     </union-decl>
     <class-decl name='qm_fqd_taildrop' size-in-bits='16' is-struct='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='418' column='1' id='type-id-197'>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='exp' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='424' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='mant' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='425' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='13'>
         <var-decl name='__reserved1' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='426' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='qm_fqd_oac' size-in-bits='16' is-struct='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='429' column='1' id='type-id-194'>
-      <data-member access='public' layout-offset-in-bits='2'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='__reserved1' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='435' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='oac' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='436' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='8'>
@@ -1492,16 +1492,16 @@ 
       </data-member>
     </class-decl>
     <class-decl name='qm_fqd_stashing' size-in-bits='16' is-struct='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='401' column='1' id='type-id-200'>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='context_cl' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='411' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='4'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='data_cl' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='412' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='2'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='annotation_cl' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='413' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='__reserved1' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='414' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='8'>
@@ -1625,19 +1625,19 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__12' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='617' column='1' id='type-id-206'>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='Pn' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='625' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='20'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='Sn' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='626' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='13'>
+      <data-member access='public' layout-offset-in-bits='12'>
         <var-decl name='SA' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='627' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='8'>
+      <data-member access='public' layout-offset-in-bits='19'>
         <var-decl name='Mn' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='628' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='MA' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='629' column='1'/>
       </data-member>
     </class-decl>
@@ -1679,13 +1679,13 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__14' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='644' column='1' id='type-id-210'>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='Tn' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='650' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='TA' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='651' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='13'>
         <var-decl name='__reserved' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='652' column='1'/>
       </data-member>
     </class-decl>
@@ -1745,10 +1745,10 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__15' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='785' column='1' id='type-id-212'>
-      <data-member access='public' layout-offset-in-bits='13'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='__reserved1' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='790' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='id' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='791' column='1'/>
       </data-member>
     </class-decl>
@@ -1818,64 +1818,64 @@ 
       <data-member access='public' layout-offset-in-bits='16'>
         <var-decl name='__reserved2' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='883' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='18446744073709551600'>
+      <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='fqd_link' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='884' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='2'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='odp_seq' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='886' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='48'>
+      <data-member access='public' layout-offset-in-bits='14'>
         <var-decl name='__reserved3' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='887' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='2'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='orp_nesn' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='889' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
+      <data-member access='public' layout-offset-in-bits='14'>
         <var-decl name='__reserved4' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='890' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='1'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='orp_ea_hseq' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='892' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='80'>
+      <data-member access='public' layout-offset-in-bits='15'>
         <var-decl name='__reserved5' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='893' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='1'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='orp_ea_tseq' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='895' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='96'>
+      <data-member access='public' layout-offset-in-bits='15'>
         <var-decl name='__reserved6' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='896' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='112'>
         <var-decl name='__reserved7' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='898' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='18446744073709551600'>
+      <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='orp_ea_hptr' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='899' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='144'>
         <var-decl name='__reserved8' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='901' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='18446744073709551600'>
+      <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='orp_ea_tptr' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='902' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='176'>
         <var-decl name='__reserved9' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='904' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='18446744073709551600'>
+      <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='pfdr_hptr' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='905' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='208'>
         <var-decl name='__reserved10' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='907' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='18446744073709551600'>
+      <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='pfdr_tptr' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='908' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='240'>
         <var-decl name='__reserved11' type-id='type-id-131' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='910' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='7'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='is' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='911' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='280'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='__reserved12' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='912' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='288'>
@@ -1887,7 +1887,7 @@ 
       <data-member access='public' layout-offset-in-bits='336'>
         <var-decl name='__reserved13' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='915' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='18446744073709551600'>
+      <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='frm_cnt' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='916' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='368'>
@@ -1935,19 +1935,19 @@ 
       <data-member access='public' layout-offset-in-bits='216'>
         <var-decl name='__reserved2' type-id='type-id-125' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='937' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='18446744073709551608'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <var-decl name='__reserved3' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='938' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='i_bcnt_hi' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='939' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='272'>
         <var-decl name='i_bcnt_lo' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='940' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='18446744073709551608'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <var-decl name='__reserved4' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='941' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='a_bcnt_hi' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='942' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='336'>
@@ -2001,10 +2001,10 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='i_bcnt_lo' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='961' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='i_bcnt_hi' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='962' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='__reserved3' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='963' column='1'/>
       </data-member>
     </class-decl>
@@ -2020,10 +2020,10 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='a_bcnt_lo' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='975' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='a_bcnt_hi' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='976' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='__reserved4' type-id='type-id-8' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='977' column='1'/>
       </data-member>
     </class-decl>
@@ -2068,10 +2068,10 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__18' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='1000' column='1' id='type-id-231'>
-      <data-member access='public' layout-offset-in-bits='13'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='__reserved' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='1005' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='id' type-id='type-id-5' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='1006' column='1'/>
       </data-member>
     </class-decl>
@@ -2094,10 +2094,10 @@ 
       <data-member access='public' layout-offset-in-bits='368'>
         <var-decl name='cgr_groupid' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='1222' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='4'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='is_static' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='1223' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='376'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='qp_initialized' type-id='type-id-51' visibility='default' filepath='../../dpdk/drivers/bus/dpaa/include/fsl_qman.h' line='1224' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='384'>
@@ -2186,22 +2186,22 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__19' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/lib/librte_eventdev/rte_eventdev.h' line='1011' column='1' id='type-id-255'>
-      <data-member access='public' layout-offset-in-bits='12'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='flow_id' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_eventdev/rte_eventdev.h' line='1012' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='4'>
+      <data-member access='public' layout-offset-in-bits='20'>
         <var-decl name='sub_event_type' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_eventdev/rte_eventdev.h' line='1019' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='28'>
         <var-decl name='event_type' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_eventdev/rte_eventdev.h' line='1023' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='op' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_eventdev/rte_eventdev.h' line='1027' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='rsvd' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_eventdev/rte_eventdev.h' line='1033' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='sched_type' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_eventdev/rte_eventdev.h' line='1035' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='40'>
@@ -2347,22 +2347,22 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__21' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='537' column='1' id='type-id-274'>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='l2_type' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='538' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='l3_type' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='539' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='20'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='l4_type' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='540' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='12'>
         <var-decl name='tun_type' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='541' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='16'>
         <var-decl name='' type-id='type-id-275' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='543' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='4'>
+      <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='inner_l4_type' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='557' column='1'/>
       </data-member>
     </class-decl>
@@ -2375,10 +2375,10 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__22' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='550' column='1' id='type-id-276'>
-      <data-member access='public' layout-offset-in-bits='4'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='inner_l2_type' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='551' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='inner_l3_type' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='553' column='1'/>
       </data-member>
     </class-decl>
@@ -2667,22 +2667,22 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__28' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='629' column='1' id='type-id-309'>
-      <data-member access='public' layout-offset-in-bits='57'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='l2_len' type-id='type-id-11' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='630' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='48'>
+      <data-member access='public' layout-offset-in-bits='7'>
         <var-decl name='l3_len' type-id='type-id-11' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='634' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='40'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <var-decl name='l4_len' type-id='type-id-11' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='636' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='24'>
         <var-decl name='tso_segsz' type-id='type-id-11' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='638' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='15'>
+      <data-member access='public' layout-offset-in-bits='40'>
         <var-decl name='outer_l3_len' type-id='type-id-11' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='653' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='8'>
+      <data-member access='public' layout-offset-in-bits='49'>
         <var-decl name='outer_l2_len' type-id='type-id-11' visibility='default' filepath='../../dpdk/lib/librte_mbuf/rte_mbuf_core.h' line='655' column='1'/>
       </data-member>
     </class-decl>
@@ -3545,19 +3545,19 @@ 
       <data-member access='public' layout-offset-in-bits='33984'>
         <var-decl name='port_id' type-id='type-id-4' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev_core.h' line='852' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='7'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='promiscuous' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev_core.h' line='855' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='scattered_rx' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev_core.h' line='856' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='5'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='all_multicast' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev_core.h' line='857' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='4'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='dev_started' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev_core.h' line='858' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='lro' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev_core.h' line='859' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='34008'>
@@ -3609,13 +3609,13 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='link_speed' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='309' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='15'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='link_duplex' type-id='type-id-4' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='310' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='14'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='link_autoneg' type-id='type-id-4' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='311' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='13'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='link_status' type-id='type-id-4' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='312' column='1'/>
       </data-member>
     </class-decl>
@@ -3692,13 +3692,13 @@ 
       <data-member access='public' layout-offset-in-bits='128'>
         <var-decl name='pvid' type-id='type-id-4' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='802' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='7'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='hw_vlan_reject_tagged' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='804' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='hw_vlan_reject_untagged' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='806' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='5'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='hw_vlan_insert_pvid' type-id='type-id-14' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='808' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
@@ -3983,13 +3983,13 @@ 
       </data-member>
     </class-decl>
     <class-decl name='rte_intr_conf' size-in-bits='32' is-struct='yes' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='1031' column='1' id='type-id-480'>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='lsc' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='1033' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='rxq' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='1035' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='rmv' type-id='type-id-7' visibility='default' filepath='../../dpdk/lib/librte_ethdev/rte_ethdev.h' line='1037' column='1'/>
       </data-member>
     </class-decl>
diff --git a/tests/data/test-diff-filter/test-PR26684-dwarf4.o b/tests/data/test-diff-filter/test-PR26684-dwarf4.o
new file mode 100644
index 0000000000000000000000000000000000000000..018c90704abb9d4bd5c5aa5c49ddcc798bb8b343
GIT binary patch
literal 2336
zcmbtU&2G~`5FW=#<JL`R8zHF5kCCWo1-6qYO-oTrqzVe+M^z=n1*x)=O=3u#$Z<<6
zAypjU3Xi}OaOTK`2ja{DX6#+pT@ne2k-R(e%{Q~-^>|JnJbjo^6cD1oHk?@k1u$}F
zdLvRBFb5alJ?h!W)}pZ4Nasst$Q;lVO>+@Y2~=kCq(jyLMb|vkH03&EU9<|Zbq%sj
zv=(CPDnKrq^ZXE|w5Wpo5R~F9!Y~~rq-3DXE6c@_t`?VybC&=zB}LVAeN(@u-_?~8
z9$f&n7@Lnv8#*43fF=N4FX*#6!MU5D>)X1j0ZehV2#~L($oCgBm+{0a_+;p4K<*g1
zjhG6{xGKu8Vgc9aj`4~V2-zq!_x7vx`bN!aM#169kU?+YcMN(}yF2JJyESON_Uw)q
z+C9&8T(9GJJ)4Kwlw)MKoY09>v*oqhX4~t9ERgf>K7V2CRMw43*{WI<qgt+(E9LT<
zv9ixv#v>=>4s&hQF#F-5&$c?uXMxv5(+Qg0t>cZlS+5ypr}fqe+GY)4cV}nQSi!`r
z|B!Xe?W7=Tnk@YMoq`fo9ova?vGLU>M6RfDkI68iafiwd6{ch;vQ@}Wz^5nRGZXN0
ze?!7i0eel7Ike|f^(Sp5b<2>)iOT6@p_5CTNH|sdia?b4cmshy<Mu@f$9|7wF@-0!
zAV!T%BJ#u*K#wZ|7vtg`$LTwZ+6WRg6JKx%2WxcF4;>fxFo^fA&_Z?`f<;XamOC1O
z6|kOTwU~R@Iq>}U0DY0}xNg9X&bghy@jDDdVn)yNnb0viSj|Dd&+yl?{6WYp>}+!s
zI?XpxMgO%dVKlwFcwdpMArxsRZdz`jLD<=_i@l9_`)ifsZy|%e-=z5Tx20sVT|rFF
zNxTLvC?Dc2S!M1W^w8heNEos5jTiKt;|1J_C(frKOR|NJoRjb$w4em>maH;&4?QwQ
z<aG`jWTZsqK0)8O`j7cY5p`1iG&SV<4-k`cA_OlvXp@l=nM*B5SUJTZ^&=;Km2eR+
z_9OI<i?8t!I_Z27f6C*fW1u;H1poD}lxG~Z%fStP5X~K$5Ayxd43m2oA^5_<1u{}1
V>J|{qy>aoM`S<%Ih<umh{{W)<p`!o*

literal 0
HcmV?d00001

diff --git a/tests/data/test-diff-filter/test-PR26684-dwarf5.o b/tests/data/test-diff-filter/test-PR26684-dwarf5.o
new file mode 100644
index 0000000000000000000000000000000000000000..04d2940d77b6371392666c2ec971961e9f9b9ea0
GIT binary patch
literal 2320
zcmbtVTTc^F5T3(QT3A{OO}wFIYa~K+x0gVz5U>eRAYMWUCMFumwmofE+HGx@+Y|l+
z{TV*_>Z^arXCHKC_ndY;Y!eeF>6w{tE@#f{FkC!+@oa)Iki=jUMw&zc(y@_T@x=<H
z;R*~;jsZ&$G(pF0IwWa5ZbO145(kJ(63S-cBm+bIEpmfZAxT1()nJ~4yAYd<Ij#p&
z3IEP`4_IpU4qB!)JOW}#&=PA|ww~1=>${m`mL2I>z#LmlWppjIkV;<z&@xO*==z$z
zj!rCt6<|~<P<JzB42azWUEkC-EPqOfDS-G2CHJFtGf!?zT*o_a;m>~`_)isOjMxJd
zHCV)xv0teqo_<rYl?*&S@XWpaVyRSKv1)#dci!XB?z&BbUYculJ3LqK);~D8rsL(>
zPSvhDP1|YbL|Be;403hbvwhL5JB^0faM~X4tNFKIy*9QAkBmazDq01jm@noF`TVM}
zw9o6tj_nD9xw>qa9q-uX8%^%=zEeZh?$=ryXXTPvS~1LK{nYL^%vFHxt*td<2@@~>
zL)KAKA|#rvN%;9Y!i4>cnmp=j(0MgRLrWBC!Khs_X)tvOBS3@r7<_sRJ~IZN9fRYj
zDU?QiE>!<;s+3{ri8yJeo5Qb23OnIc?K`2*EBH&HUsZ4%cb{&CaCsL&4?}pk8}Aid
zt_N4(^d-aHkTp}C(${yj2In2mu7Wl2`T=iA$>V1pSTyrsRR;sG`n+vhbzVJg9y)HL
zi#A`jtJOX~`O9qgZMVrWB=BfEE|)T92dmcYbU6OyS#H<k77n&K@a)==DE>d#0>;wY
z<$GnSiWC&CPJ9;agsGEVQR1Yk#@|N+eZO(>;crVhRK0+hnv?u0bReAuY<Q}^G%vL1
zD?^V!_$mteA#j>o@{{+|jwRZ_pPG~K?{px24A}5gefQ9!V&uFeK!cPJslLzA7FB=C
z|L+AL>!kW=YpC@fBBtg<2zCURBPB$tFO48!`H&BZr^4}@g3EZxPtYC}zbIDdxcg=N
zg@{+KfrIE3eCe%}C(8AW0L$Vc+B>u#)c(<qQD+w+_#!~L*9aq$bq5;l)adw6;`@D;
Jj)JT4e*k`}pr8N%

literal 0
HcmV?d00001

diff --git a/tests/data/test-diff-filter/test-PR26684-report-0.txt b/tests/data/test-diff-filter/test-PR26684-report-0.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/tests/data/test-diff-filter/test-PR26684.c b/tests/data/test-diff-filter/test-PR26684.c
new file mode 100644
index 00000000..91bb2fe5
--- /dev/null
+++ b/tests/data/test-diff-filter/test-PR26684.c
@@ -0,0 +1,14 @@ 
+/* This is compiled once into test-PR26684-dwarf4.o and once into
+   test-PR26684-dwarf5.o:
+
+   gcc -c -gdwarf-5 -o test-PR26684-dwarf5.o test-PR26684.c
+   gcc -c -gdwarf-4 -o test-PR26684-dwarf4.o test-PR26684.c
+
+*/
+struct pea
+{
+  int type;
+  long a:1, b:1, c:1;
+};
+
+struct pea p;
diff --git a/tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt b/tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt
index cba145c5..6dfed24a 100644
--- a/tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt
+++ b/tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt
@@ -14,7 +14,7 @@ 
                 underlying type 'struct cdio_dvd_disckey' at dvd.h:100:1 changed:
                   type size hasn't changed
                   1 data member change:
-                    'unsigned int cdio_dvd_disckey::agid' offset changed from 30 to 22 (in bits) (by -8 bits)
+                    'unsigned int cdio_dvd_disckey::agid' offset changed from 0 to 8 (in bits) (by +8 bits)
               type of 'cdio_dvd_physical_t physical' changed:
                 underlying type 'struct cdio_dvd_physical' at dvd.h:86:1 changed:
                   type size hasn't changed
@@ -24,14 +24,14 @@ 
                         underlying type 'struct cdio_dvd_layer' at dvd.h:65:1 changed:
                           type size hasn't changed
                           8 data member changes:
-                            'unsigned int cdio_dvd_layer::track_density' offset changed from 21 to 5 (in bits) (by -16 bits)
-                            'unsigned int cdio_dvd_layer::bca' offset changed from 24 to 0 (in bits) (by -24 bits)
-                            'unsigned int cdio_dvd_layer::disc_size' offset changed from 24 to 16 (in bits) (by -8 bits)
-                            'unsigned int cdio_dvd_layer::linear_density' offset changed from 25 to 1 (in bits) (by -24 bits)
-                            'unsigned int cdio_dvd_layer::nlayers' offset changed from 25 to 9 (in bits) (by -16 bits)
-                            'unsigned int cdio_dvd_layer::track_path' offset changed from 27 to 11 (in bits) (by -16 bits)
-                            'unsigned int cdio_dvd_layer::layer_type' offset changed from 28 to 12 (in bits) (by -16 bits)
-                            'unsigned int cdio_dvd_layer::min_rate' offset changed from 28 to 20 (in bits) (by -8 bits)
+                            'unsigned int cdio_dvd_layer::layer_type' offset changed from 0 to 16 (in bits) (by +16 bits)
+                            'unsigned int cdio_dvd_layer::min_rate' offset changed from 0 to 8 (in bits) (by +8 bits)
+                            'unsigned int cdio_dvd_layer::linear_density' offset changed from 3 to 27 (in bits) (by +24 bits)
+                            'unsigned int cdio_dvd_layer::disc_size' offset changed from 4 to 12 (in bits) (by +8 bits)
+                            'unsigned int cdio_dvd_layer::track_path' offset changed from 4 to 20 (in bits) (by +16 bits)
+                            'unsigned int cdio_dvd_layer::nlayers' offset changed from 5 to 21 (in bits) (by +16 bits)
+                            'unsigned int cdio_dvd_layer::bca' offset changed from 7 to 31 (in bits) (by +24 bits)
+                            'unsigned int cdio_dvd_layer::track_density' offset changed from 7 to 23 (in bits) (by +16 bits)
                       type size hasn't changed
 
     [C] 'function discmode_t mmc_get_dvd_struct_physical_private(void*, mmc_run_cmd_fn_t, cdio_dvd_struct_t*)' at mmc.c:450:1 has some indirect sub-type changes:
diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
index 44e2e608..254c3678 100644
--- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
+++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi
@@ -431,7 +431,7 @@ 
       <data-member access='public' layout-offset-in-bits='5568'>
         <var-decl name='data' type-id='type-id-237' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.h' line='540' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='data_early' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/drivers/mmc/host/sdhci.h' line='541' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='5696'>
@@ -900,31 +900,31 @@ 
       <data-member access='public' layout-offset-in-bits='7040'>
         <var-decl name='ios' type-id='type-id-285' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='387' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='use_spi_crc' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='390' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='claimed' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='391' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='bus_dead' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='392' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='can_retune' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='393' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='doing_retune' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='394' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='retune_now' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='395' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='25'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='retune_paused' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='396' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='7'>
         <var-decl name='use_blk_mq' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='397' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='23'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='retune_crc_disable' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/host.h' line='398' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='7232'>
@@ -1157,16 +1157,16 @@ 
       <data-member access='public' layout-offset-in-bits='5760'>
         <var-decl name='iommu_param' type-id='type-id-322' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/device.h' line='1067' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='7'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='offline_disabled' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/device.h' line='1069' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='offline' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/device.h' line='1070' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='5'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='of_node_reused' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/device.h' line='1071' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='4'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='dma_coherent' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/device.h' line='1075' column='1'/>
       </data-member>
     </class-decl>
@@ -1192,19 +1192,19 @@ 
       <data-member access='public' layout-offset-in-bits='448'>
         <var-decl name='kref' type-id='type-id-327' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/kobject.h' line='72' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='state_initialized' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/kobject.h' line='76' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='state_in_sysfs' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/kobject.h' line='77' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='state_add_uevent_sent' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/kobject.h' line='78' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='state_remove_uevent_sent' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/kobject.h' line='79' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='uevent_suppress' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/kobject.h' line='80' column='1'/>
       </data-member>
     </class-decl>
@@ -3319,13 +3319,13 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__12' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mm_types.h' line='124' column='1' id='type-id-636'>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='inuse' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mm_types.h' line='125' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='1'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <var-decl name='objects' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mm_types.h' line='126' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
+      <data-member access='public' layout-offset-in-bits='31'>
         <var-decl name='frozen' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mm_types.h' line='127' column='1'/>
       </data-member>
     </class-decl>
@@ -3934,37 +3934,37 @@ 
       <data-member access='public' layout-offset-in-bits='9920'>
         <var-decl name='personality' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='758' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='sched_reset_on_fork' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='761' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='sched_contributes_to_load' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='762' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='sched_migrated' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='763' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='sched_remote_wakeup' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='764' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='sched_psi_wake_requeue' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='766' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='in_execve' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='775' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='in_iowait' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='776' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='in_user_fault' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='781' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='no_cgroup_migration' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='788' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='frozen' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='790' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='use_memdelay' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='794' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='10048'>
@@ -4606,19 +4606,19 @@ 
       <data-member access='public' layout-offset-in-bits='640'>
         <var-decl name='flags' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='533' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='dl_throttled' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='559' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='dl_boosted' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='560' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='dl_yielded' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='561' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='dl_non_contending' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='562' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='dl_overrun' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched.h' line='563' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='704'>
@@ -4704,16 +4704,16 @@ 
       <data-member access='public' layout-offset-in-bits='96'>
         <var-decl name='clock_was_set_seq' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/hrtimer.h' line='202' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='hres_active' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/hrtimer.h' line='203' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='in_hrtirq' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/hrtimer.h' line='204' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='hang_detected' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/hrtimer.h' line='205' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='softirq_activated' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/hrtimer.h' line='206' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
@@ -5471,10 +5471,10 @@ 
       <data-member access='public' layout-offset-in-bits='928'>
         <var-decl name='flags' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched/signal.h' line='114' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='is_child_subreaper' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched/signal.h' line='125' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='has_child_subreaper' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/sched/signal.h' line='126' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='992'>
@@ -6341,10 +6341,10 @@ 
       <data-member access='public' layout-offset-in-bits='192'>
         <var-decl name='confirm_switch' type-id='type-id-912' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/percpu-refcount.h' line='103' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='7'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='force_atomic' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/percpu-refcount.h' line='104' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='allow_reinit' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/percpu-refcount.h' line='105' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
@@ -7581,10 +7581,10 @@ 
       <data-member access='public' layout-offset-in-bits='1024'>
         <var-decl name='atomic_write_len' type-id='type-id-239' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/kernfs.h' line='213' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='7'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='mmapped' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/kernfs.h' line='214' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='released' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/kernfs.h' line='215' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1152'>
@@ -7882,34 +7882,34 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='power_state' type-id='type-id-1083' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='574' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='can_wakeup' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='575' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='async_suspend' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='576' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='5'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='in_dpm_list' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='577' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='4'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='is_prepared' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='578' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='3'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='is_suspended' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='579' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='2'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='is_noirq_suspended' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='580' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='1'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='is_late_suspended' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='581' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
+      <data-member access='public' layout-offset-in-bits='7'>
         <var-decl name='no_pm' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='582' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='7'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='early_init' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='583' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='direct_complete' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='584' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
@@ -7927,19 +7927,19 @@ 
       <data-member access='public' layout-offset-in-bits='512'>
         <var-decl name='wakeup' type-id='type-id-1085' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='590' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='7'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='wakeup_path' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='591' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='syscore' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='592' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='5'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='no_pm_callbacks' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='593' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='must_resume' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='594' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='may_skip_resume' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='595' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='640'>
@@ -7963,37 +7963,37 @@ 
       <data-member access='public' layout-offset-in-bits='1760'>
         <var-decl name='child_count' type-id='type-id-271' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='606' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='disable_depth' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='607' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='idle_notification' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='608' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='request_pending' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='609' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='deferred_resume' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='610' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='25'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='runtime_auto' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='611' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='1792'>
+      <data-member access='public' layout-offset-in-bits='7'>
         <var-decl name='ignore_children' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='612' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='23'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='no_callbacks' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='613' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='22'>
+      <data-member access='public' layout-offset-in-bits='9'>
         <var-decl name='irq_safe' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='614' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='10'>
         <var-decl name='use_autosuspend' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='615' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='20'>
+      <data-member access='public' layout-offset-in-bits='11'>
         <var-decl name='timer_autosuspends' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='616' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='19'>
+      <data-member access='public' layout-offset-in-bits='12'>
         <var-decl name='memalloc_noio' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm.h' line='617' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1824'>
@@ -8082,10 +8082,10 @@ 
       <data-member access='public' layout-offset-in-bits='1280'>
         <var-decl name='wakeup_count' type-id='type-id-211' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm_wakeup.h' line='57' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='7'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='active' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm_wakeup.h' line='58' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='6'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='autosleep_enabled' type-id='type-id-235' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/pm_wakeup.h' line='59' column='1'/>
       </data-member>
     </class-decl>
@@ -8707,19 +8707,19 @@ 
       <data-member access='public' layout-offset-in-bits='288'>
         <var-decl name='capacity' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='37' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='read_partial' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='38' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='read_misalign' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='39' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='write_partial' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='40' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='write_misalign' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='41' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='dsr_imp' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='42' column='1'/>
       </data-member>
     </class-decl>
@@ -9005,22 +9005,22 @@ 
       <data-member access='public' layout-offset-in-bits='32'>
         <var-decl name='sd_vsn' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='193' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='multi_block' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='194' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='low_speed' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='195' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='wide_bus' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='196' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='high_power' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='197' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='high_speed' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='198' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='disable_cd' type-id='type-id-210' visibility='default' filepath='/ws/android/kernel/aosp/common-mainline/common/include/linux/mmc/card.h' line='199' column='1'/>
       </data-member>
     </class-decl>
diff --git a/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi b/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi
index 7c082339..24e7feff 100644
--- a/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi
+++ b/tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi
@@ -166,28 +166,28 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='name' type-id='type-id-23' visibility='default' filepath='./gdbmdefs.h' line='177' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='read_write' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='180' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='fast_write' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='183' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='central_free' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='186' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='coalesce_blocks' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='189' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='file_locking' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='192' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='25'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='memory_mapping' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='195' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='7'>
         <var-decl name='cloexec' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='198' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='23'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='need_recovery' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='201' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
@@ -232,16 +232,16 @@ 
       <data-member access='public' layout-offset-in-bits='896'>
         <var-decl name='cache_entry' type-id='type-id-13' visibility='default' filepath='./gdbmdefs.h' line='239' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='header_changed' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='243' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='directory_changed' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='244' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='bucket_changed' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='245' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='second_changed' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='246' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
@@ -509,28 +509,28 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='name' type-id='type-id-23' visibility='default' filepath='./gdbmdefs.h' line='177' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='read_write' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='180' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='fast_write' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='183' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='central_free' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='186' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='coalesce_blocks' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='189' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='file_locking' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='192' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='25'>
+      <data-member access='public' layout-offset-in-bits='6'>
         <var-decl name='memory_mapping' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='195' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='7'>
         <var-decl name='cloexec' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='198' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='23'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='need_recovery' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='201' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
@@ -575,16 +575,16 @@ 
       <data-member access='public' layout-offset-in-bits='896'>
         <var-decl name='cache_entry' type-id='type-id-13' visibility='default' filepath='./gdbmdefs.h' line='239' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='header_changed' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='243' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='directory_changed' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='244' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='bucket_changed' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='245' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='second_changed' type-id='type-id-24' visibility='default' filepath='./gdbmdefs.h' line='246' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1024'>
diff --git a/tests/data/test-read-dwarf/test13-pr18894.so.abi b/tests/data/test-read-dwarf/test13-pr18894.so.abi
index 3d9b3b9d..5efa92d3 100644
--- a/tests/data/test-read-dwarf/test13-pr18894.so.abi
+++ b/tests/data/test-read-dwarf/test13-pr18894.so.abi
@@ -268,16 +268,16 @@ 
       <data-member access='public' layout-offset-in-bits='96'>
         <var-decl name='dummy3' type-id='type-id-2' visibility='default' filepath='../dbus/dbus-string.h' line='50' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='dummy_bit1' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='51' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='dummy_bit2' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='52' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='dummy_bit3' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='53' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='dummy_bits' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-string.h' line='54' column='1'/>
       </data-member>
     </class-decl>
@@ -301,19 +301,19 @@ 
       <data-member access='public' layout-offset-in-bits='64'>
         <var-decl name='message' type-id='type-id-15' visibility='default' filepath='../dbus/dbus-errors.h' line='51' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='dummy1' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='53' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='dummy2' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='54' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='dummy3' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='55' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='dummy4' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='56' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='dummy5' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-errors.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
@@ -463,22 +463,22 @@ 
       <data-member access='public' layout-offset-in-bits='2016'>
         <var-decl name='io_path_acquired' type-id='type-id-17' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='313' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='shareable' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='315' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='exit_on_disconnect' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='317' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='route_peer_messages' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='319' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='28'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='disconnected_message_arrived' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='321' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='27'>
+      <data-member access='public' layout-offset-in-bits='4'>
         <var-decl name='disconnected_message_processed' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='325' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='26'>
+      <data-member access='public' layout-offset-in-bits='5'>
         <var-decl name='have_connection_lock' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.c' line='330' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='2080'>
@@ -633,10 +633,10 @@ 
       <data-member access='public' layout-offset-in-bits='640'>
         <var-decl name='body' type-id='type-id-7' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='105' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='locked' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='107' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='in_cache' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='110' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='896'>
@@ -645,7 +645,7 @@ 
       <data-member access='public' layout-offset-in-bits='960'>
         <var-decl name='size_counter_delta' type-id='type-id-80' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='114' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='changed_stamp' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='116' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1088'>
@@ -692,10 +692,10 @@ 
       <data-member access='public' layout-offset-in-bits='192'>
         <var-decl name='fields' type-id='type-id-84' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='54' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='padding' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='58' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='byte_order' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='59' column='1'/>
       </data-member>
     </class-decl>
@@ -743,10 +743,10 @@ 
       <data-member access='public' layout-offset-in-bits='512'>
         <var-decl name='reply_serial' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='76' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='completed' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='78' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='timeout_added' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-pending-call.c' line='79' column='1'/>
       </data-member>
     </class-decl>
@@ -773,7 +773,7 @@ 
       <data-member access='public' layout-offset-in-bits='320'>
         <var-decl name='free_data_function' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='50' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='enabled' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-timeout.c' line='51' column='1'/>
       </data-member>
     </class-decl>
@@ -804,10 +804,10 @@ 
       <data-member access='public' layout-offset-in-bits='384'>
         <var-decl name='free_data_function' type-id='type-id-38' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='51' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='enabled' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='52' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='oom_last_time' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-watch.c' line='53' column='1'/>
       </data-member>
     </class-decl>
@@ -834,10 +834,10 @@ 
       <data-member access='public' layout-offset-in-bits='640'>
         <var-decl name='body' type-id='type-id-7' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='105' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='locked' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='107' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='in_cache' type-id='type-id-3' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='110' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='896'>
@@ -846,7 +846,7 @@ 
       <data-member access='public' layout-offset-in-bits='960'>
         <var-decl name='size_counter_delta' type-id='type-id-80' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='114' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='changed_stamp' type-id='type-id-16' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-message-private.h' line='116' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='1088'>
@@ -876,10 +876,10 @@ 
       <data-member access='public' layout-offset-in-bits='192'>
         <var-decl name='fields' type-id='type-id-84' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='54' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='padding' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='58' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='3'>
         <var-decl name='byte_order' type-id='type-id-16' visibility='default' filepath='../dbus/dbus-marshal-header.h' line='59' column='1'/>
       </data-member>
     </class-decl>
@@ -2030,10 +2030,10 @@ 
       <data-member access='public' layout-offset-in-bits='1088'>
         <var-decl name='auth_mechanisms' type-id='type-id-127' visibility='default' filepath='../dbus/dbus-server-protected.h' line='85' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='disconnected' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-server-protected.h' line='87' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='have_server_lock' type-id='type-id-3' visibility='default' filepath='../dbus/dbus-server-protected.h' line='90' column='1'/>
       </data-member>
     </class-decl>
diff --git a/tests/data/test-read-dwarf/test15-pr18892.so.abi b/tests/data/test-read-dwarf/test15-pr18892.so.abi
index 34ff0fb8..dd370815 100644
--- a/tests/data/test-read-dwarf/test15-pr18892.so.abi
+++ b/tests/data/test-read-dwarf/test15-pr18892.so.abi
@@ -7139,10 +7139,10 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='req' type-id='type-id-211' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc' line='14' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='type' type-id='type-id-599' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc' line='21' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='size' type-id='type-id-211' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc' line='22' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
diff --git a/tests/data/test-read-dwarf/test16-pr18904.so.abi b/tests/data/test-read-dwarf/test16-pr18904.so.abi
index 01605868..47b20541 100644
--- a/tests/data/test-read-dwarf/test16-pr18904.so.abi
+++ b/tests/data/test-read-dwarf/test16-pr18904.so.abi
@@ -2800,46 +2800,46 @@ 
     <union-decl name='varDescFlags' size-in-bits='32' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='217' column='1' id='type-id-239'>
       <member-type access='private'>
         <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='218' column='1' id='type-id-240'>
-          <data-member access='public' layout-offset-in-bits='31'>
+          <data-member access='public' layout-offset-in-bits='0'>
             <var-decl name='is_static' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='220' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='30'>
+          <data-member access='public' layout-offset-in-bits='1'>
             <var-decl name='is_static_dstn' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='222' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='29'>
+          <data-member access='public' layout-offset-in-bits='2'>
             <var-decl name='has_length' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='224' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='28'>
+          <data-member access='public' layout-offset-in-bits='3'>
             <var-decl name='is_stack_buf' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='226' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='27'>
+          <data-member access='public' layout-offset-in-bits='4'>
             <var-decl name='targetptr' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='228' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='26'>
+          <data-member access='public' layout-offset-in-bits='5'>
             <var-decl name='preallocated' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='230' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='25'>
+          <data-member access='public' layout-offset-in-bits='6'>
             <var-decl name='is_pointer' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='232' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='24'>
+          <data-member access='public' layout-offset-in-bits='7'>
             <var-decl name='sink_addr' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='235' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='23'>
+          <data-member access='public' layout-offset-in-bits='8'>
             <var-decl name='alloc_disp' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='237' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='22'>
+          <data-member access='public' layout-offset-in-bits='9'>
             <var-decl name='is_noncont_src' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='239' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='21'>
+          <data-member access='public' layout-offset-in-bits='10'>
             <var-decl name='is_noncont_dst' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='241' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='20'>
+          <data-member access='public' layout-offset-in-bits='11'>
             <var-decl name='always_copy' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='244' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='19'>
+          <data-member access='public' layout-offset-in-bits='12'>
             <var-decl name='always_delete' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='246' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='18'>
+          <data-member access='public' layout-offset-in-bits='13'>
             <var-decl name='pin' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='248' column='1'/>
           </data-member>
         </class-decl>
@@ -3736,10 +3736,10 @@ 
         <union-decl name='__anonymous_union__' size-in-bits='8' is-anonymous='yes' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='256' column='1' id='type-id-287'>
           <member-type access='private'>
             <class-decl name='__anonymous_struct__' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='257' column='1' id='type-id-288'>
-              <data-member access='public' layout-offset-in-bits='4'>
+              <data-member access='public' layout-offset-in-bits='0'>
                 <var-decl name='dst' type-id='type-id-20' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='258' column='1'/>
               </data-member>
-              <data-member access='public' layout-offset-in-bits='0'>
+              <data-member access='public' layout-offset-in-bits='4'>
                 <var-decl name='src' type-id='type-id-20' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='259' column='1'/>
               </data-member>
             </class-decl>
@@ -3756,10 +3756,10 @@ 
         <union-decl name='__anonymous_union__1' size-in-bits='8' is-anonymous='yes' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='265' column='1' id='type-id-289'>
           <member-type access='private'>
             <class-decl name='__anonymous_struct__' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='266' column='1' id='type-id-290'>
-              <data-member access='public' layout-offset-in-bits='7'>
+              <data-member access='public' layout-offset-in-bits='0'>
                 <var-decl name='in' type-id='type-id-20' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='267' column='1'/>
               </data-member>
-              <data-member access='public' layout-offset-in-bits='6'>
+              <data-member access='public' layout-offset-in-bits='1'>
                 <var-decl name='out' type-id='type-id-20' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='268' column='1'/>
               </data-member>
             </class-decl>
@@ -3843,20 +3843,20 @@ 
     <union-decl name='OffloadFlags' size-in-bits='32' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='160' column='1' id='type-id-276'>
       <member-type access='private'>
         <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='162' column='1' id='type-id-294'>
-          <data-member access='public' layout-offset-in-bits='31'>
+          <data-member access='public' layout-offset-in-bits='0'>
             <var-decl name='fortran_traceback' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='163' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='30'>
+          <data-member access='public' layout-offset-in-bits='1'>
             <var-decl name='omp_async' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='164' column='1'/>
           </data-member>
         </class-decl>
       </member-type>
       <member-type access='private'>
         <class-decl name='__anonymous_struct__1' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='162' column='1' id='type-id-294'>
-          <data-member access='public' layout-offset-in-bits='31'>
+          <data-member access='public' layout-offset-in-bits='0'>
             <var-decl name='fortran_traceback' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='163' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='30'>
+          <data-member access='public' layout-offset-in-bits='1'>
             <var-decl name='omp_async' type-id='type-id-17' visibility='default' filepath='../../../gcc/liboffloadmic/runtime/offload_common.h' line='164' column='1'/>
           </data-member>
         </class-decl>
diff --git a/tests/data/test-read-dwarf/test17-pr19027.so.abi b/tests/data/test-read-dwarf/test17-pr19027.so.abi
index f0388775..f98624d8 100644
--- a/tests/data/test-read-dwarf/test17-pr19027.so.abi
+++ b/tests/data/test-read-dwarf/test17-pr19027.so.abi
@@ -11151,7 +11151,7 @@ 
           <data-member access='public' layout-offset-in-bits='0'>
             <var-decl name='index' type-id='type-id-89' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='60' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='15'>
+          <data-member access='public' layout-offset-in-bits='0'>
             <var-decl name='auto_zwj' type-id='type-id-89' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='61' column='1'/>
           </data-member>
           <data-member access='public' layout-offset-in-bits='32'>
@@ -11179,10 +11179,10 @@ 
           <data-member access='public' layout-offset-in-bits='224'>
             <var-decl name='_1_mask' type-id='type-id-133' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='51' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='31'>
+          <data-member access='public' layout-offset-in-bits='0'>
             <var-decl name='needs_fallback' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='52' column='1'/>
           </data-member>
-          <data-member access='public' layout-offset-in-bits='30'>
+          <data-member access='public' layout-offset-in-bits='1'>
             <var-decl name='auto_zwj' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-map-private.hh' line='53' column='1'/>
           </data-member>
         </class-decl>
@@ -11309,13 +11309,13 @@ 
       <data-member access='public' layout-offset-in-bits='8704'>
         <var-decl name='kern_mask' type-id='type-id-133' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-shape-private.hh' line='44' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='has_frac' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-shape-private.hh' line='45' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='has_kern' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-shape-private.hh' line='46' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='has_mark' type-id='type-id-12' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-shape-private.hh' line='47' column='1'/>
       </data-member>
     </class-decl>
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 d2e97237..71f8a129 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
@@ -1806,16 +1806,16 @@ 
         <data-member access='public' layout-offset-in-bits='256'>
           <var-decl name='objects' type-id='type-id-58' visibility='default' filepath='src/span.h' line='50' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
+        <data-member access='public' layout-offset-in-bits='0'>
           <var-decl name='refcount' type-id='type-id-64' visibility='default' filepath='src/span.h' line='51' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
+        <data-member access='public' layout-offset-in-bits='16'>
           <var-decl name='sizeclass' type-id='type-id-64' visibility='default' filepath='src/span.h' line='52' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
+        <data-member access='public' layout-offset-in-bits='24'>
           <var-decl name='location' type-id='type-id-64' visibility='default' filepath='src/span.h' line='53' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
+        <data-member access='public' layout-offset-in-bits='26'>
           <var-decl name='sample' type-id='type-id-64' visibility='default' filepath='src/span.h' line='54' column='1'/>
         </data-member>
       </class-decl>
@@ -15168,16 +15168,16 @@ 
         <data-member access='public' layout-offset-in-bits='256'>
           <var-decl name='objects' type-id='type-id-58' visibility='default' filepath='src/span.h' line='50' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
+        <data-member access='public' layout-offset-in-bits='0'>
           <var-decl name='refcount' type-id='type-id-64' visibility='default' filepath='src/span.h' line='51' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
+        <data-member access='public' layout-offset-in-bits='16'>
           <var-decl name='sizeclass' type-id='type-id-64' visibility='default' filepath='src/span.h' line='52' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
+        <data-member access='public' layout-offset-in-bits='24'>
           <var-decl name='location' type-id='type-id-64' visibility='default' filepath='src/span.h' line='53' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
+        <data-member access='public' layout-offset-in-bits='26'>
           <var-decl name='sample' type-id='type-id-64' visibility='default' filepath='src/span.h' line='54' column='1'/>
         </data-member>
       </class-decl>
diff --git a/tests/data/test-read-dwarf/test21-pr19092.so.abi b/tests/data/test-read-dwarf/test21-pr19092.so.abi
index 393679a8..cf635351 100644
--- a/tests/data/test-read-dwarf/test21-pr19092.so.abi
+++ b/tests/data/test-read-dwarf/test21-pr19092.so.abi
@@ -760,13 +760,13 @@ 
       <data-member access='public' layout-offset-in-bits='576'>
         <var-decl name='extra_arg' type-id='type-id-14' visibility='default' filepath='../.././gcc/../include/obstack.h' line='178' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='use_extra_arg' type-id='type-id-13' visibility='default' filepath='../.././gcc/../include/obstack.h' line='179' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='maybe_empty_object' type-id='type-id-13' visibility='default' filepath='../.././gcc/../include/obstack.h' line='180' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='alloc_failed' type-id='type-id-13' visibility='default' filepath='../.././gcc/../include/obstack.h' line='184' column='1'/>
       </data-member>
     </class-decl>
@@ -855,19 +855,19 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='ident' type-id='type-id-79' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='677' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='is_directive' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='678' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='directive_index' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='679' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='136'>
         <var-decl name='rid_code' type-id='type-id-27' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='682' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='10'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <var-decl name='type' type-id='type-id-80' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='683' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='128'>
+      <data-member access='public' layout-offset-in-bits='22'>
         <var-decl name='flags' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='684' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
@@ -984,7 +984,7 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='start_location' type-id='type-id-103' visibility='default' filepath='../.././gcc/../libcpp/include/line-map.h' line='205' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='reason' type-id='type-id-108' visibility='default' filepath='../.././gcc/../libcpp/include/line-map.h' line='208' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
@@ -1039,7 +1039,7 @@ 
       <data-member access='public' layout-offset-in-bits='128'>
         <var-decl name='sysp' type-id='type-id-27' visibility='default' filepath='../.././gcc/../libcpp/include/line-map.h' line='84' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='column_bits' type-id='type-id-13' visibility='default' filepath='../.././gcc/../libcpp/include/line-map.h' line='87' column='1'/>
       </data-member>
     </class-decl>
@@ -1658,22 +1658,22 @@ 
       <data-member access='public' layout-offset-in-bits='192'>
         <var-decl name='paramc' type-id='type-id-29' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='60' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='15'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <var-decl name='fun_like' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='63' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='14'>
+      <data-member access='public' layout-offset-in-bits='17'>
         <var-decl name='variadic' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='66' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='13'>
+      <data-member access='public' layout-offset-in-bits='18'>
         <var-decl name='syshdr' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='69' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='12'>
+      <data-member access='public' layout-offset-in-bits='19'>
         <var-decl name='used' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='72' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='20'>
         <var-decl name='traditional' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='75' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='10'>
+      <data-member access='public' layout-offset-in-bits='21'>
         <var-decl name='extra_tokens' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='80' column='1'/>
       </data-member>
     </class-decl>
@@ -1739,7 +1739,7 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='src_loc' type-id='type-id-103' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='224' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='type' type-id='type-id-181' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='225' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='48'>
@@ -4341,13 +4341,13 @@ 
       <data-member access='public' layout-offset-in-bits='768'>
         <var-decl name='need_line' type-id='type-id-1' visibility='default' filepath='../.././libcpp/internal.h' line='326' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='23'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='warned_cplusplus_comments' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='332' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='22'>
+      <data-member access='public' layout-offset-in-bits='9'>
         <var-decl name='from_stage3' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='337' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='10'>
         <var-decl name='return_at_eof' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='342' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='784'>
@@ -4374,13 +4374,13 @@ 
       <data-member access='public' layout-offset-in-bits='192'>
         <var-decl name='line' type-id='type-id-103' visibility='default' filepath='../.././libcpp/internal.h' line='367' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='syshdr' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='369' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='used' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='371' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='is_undef' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='374' column='1'/>
       </data-member>
     </class-decl>
@@ -5416,7 +5416,7 @@ 
       <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='src_loc' type-id='type-id-103' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='224' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='type' type-id='type-id-181' visibility='default' filepath='../.././libcpp/include/cpplib.h' line='225' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='48'>
@@ -5496,22 +5496,22 @@ 
       <data-member access='public' layout-offset-in-bits='192'>
         <var-decl name='paramc' type-id='type-id-29' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='60' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='15'>
+      <data-member access='public' layout-offset-in-bits='16'>
         <var-decl name='fun_like' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='63' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='14'>
+      <data-member access='public' layout-offset-in-bits='17'>
         <var-decl name='variadic' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='66' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='13'>
+      <data-member access='public' layout-offset-in-bits='18'>
         <var-decl name='syshdr' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='69' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='12'>
+      <data-member access='public' layout-offset-in-bits='19'>
         <var-decl name='used' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='72' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='11'>
+      <data-member access='public' layout-offset-in-bits='20'>
         <var-decl name='traditional' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='75' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='10'>
+      <data-member access='public' layout-offset-in-bits='21'>
         <var-decl name='extra_tokens' type-id='type-id-13' visibility='default' filepath='../.././libcpp/include/cpp-id-data.h' line='80' column='1'/>
       </data-member>
     </class-decl>
@@ -6633,13 +6633,13 @@ 
       <data-member access='public' layout-offset-in-bits='768'>
         <var-decl name='need_line' type-id='type-id-1' visibility='default' filepath='../.././libcpp/internal.h' line='326' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='23'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='warned_cplusplus_comments' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='332' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='22'>
+      <data-member access='public' layout-offset-in-bits='9'>
         <var-decl name='from_stage3' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='337' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='21'>
+      <data-member access='public' layout-offset-in-bits='10'>
         <var-decl name='return_at_eof' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='342' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='784'>
@@ -6735,13 +6735,13 @@ 
       <data-member access='public' layout-offset-in-bits='192'>
         <var-decl name='line' type-id='type-id-103' visibility='default' filepath='../.././libcpp/internal.h' line='367' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='31'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='syshdr' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='369' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='30'>
+      <data-member access='public' layout-offset-in-bits='1'>
         <var-decl name='used' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='371' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='29'>
+      <data-member access='public' layout-offset-in-bits='2'>
         <var-decl name='is_undef' type-id='type-id-13' visibility='default' filepath='../.././libcpp/internal.h' line='374' column='1'/>
       </data-member>
     </class-decl>
@@ -8338,21 +8338,21 @@ 
       </data-member>
     </union-decl>
     <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='70' column='1' id='type-id-502'>
-      <data-member access='public' layout-offset-in-bits='25'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='__w_termsig' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='73' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='7'>
         <var-decl name='__w_coredump' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='74' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='__w_retcode' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='75' column='1'/>
       </data-member>
     </class-decl>
     <class-decl name='__anonymous_struct__1' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='85' column='1' id='type-id-503'>
-      <data-member access='public' layout-offset-in-bits='24'>
+      <data-member access='public' layout-offset-in-bits='0'>
         <var-decl name='__w_stopval' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='88' column='1'/>
       </data-member>
-      <data-member access='public' layout-offset-in-bits='16'>
+      <data-member access='public' layout-offset-in-bits='8'>
         <var-decl name='__w_stopsig' type-id='type-id-13' visibility='default' filepath='/usr/include/bits/waitstatus.h' line='89' column='1'/>
       </data-member>
     </class-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 cd8fd33f..807cf30f 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
@@ -41846,10 +41846,10 @@ 
         <member-type access='public'>
           <typedef-decl name='allocator_type' type-id='type-id-2995' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/rope' line='606' column='1' id='type-id-2978'/>
         </member-type>
-        <data-member access='public' layout-offset-in-bits='24'>
+        <data-member access='public' layout-offset-in-bits='0'>
           <var-decl name='_M_tag' type-id='type-id-3078' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/rope' line='590' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='456'>
+        <data-member access='public' layout-offset-in-bits='0'>
           <var-decl name='_M_is_balanced' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/rope' line='591' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='464'>
@@ -42056,10 +42056,10 @@ 
         <member-type access='public'>
           <typedef-decl name='allocator_type' type-id='type-id-3007' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/rope' line='606' column='1' id='type-id-2983'/>
         </member-type>
-        <data-member access='public' layout-offset-in-bits='24'>
+        <data-member access='public' layout-offset-in-bits='0'>
           <var-decl name='_M_tag' type-id='type-id-3078' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/rope' line='590' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='456'>
+        <data-member access='public' layout-offset-in-bits='0'>
           <var-decl name='_M_is_balanced' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/rope' line='591' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='464'>
@@ -51947,13 +51947,13 @@ 
         <data-member access='private' layout-offset-in-bits='576'>
           <var-decl name='_M_free_fun' type-id='type-id-93' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/backward/strstream' line='119' column='1'/>
         </data-member>
-        <data-member access='private' layout-offset-in-bits='7'>
+        <data-member access='private' layout-offset-in-bits='0'>
           <var-decl name='_M_dynamic' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/backward/strstream' line='121' column='1'/>
         </data-member>
-        <data-member access='private' layout-offset-in-bits='6'>
+        <data-member access='private' layout-offset-in-bits='1'>
           <var-decl name='_M_frozen' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/backward/strstream' line='122' column='1'/>
         </data-member>
-        <data-member access='private' layout-offset-in-bits='5'>
+        <data-member access='private' layout-offset-in-bits='2'>
           <var-decl name='_M_constant' type-id='type-id-10' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-wfh0ig/gcc-4.7.4/x86_64-unknown-linux-gnu/libstdc++-v3/include/backward/strstream' line='123' column='1'/>
         </data-member>
         <member-function access='private' constructor='yes'>
diff --git a/tests/test-diff-filter.cc b/tests/test-diff-filter.cc
index f378fa23..50e2f226 100644
--- a/tests/test-diff-filter.cc
+++ b/tests/test-diff-filter.cc
@@ -773,6 +773,13 @@  InOutSpec in_out_specs[] =
    "data/test-diff-filter/test-PR26739-2-report-0.txt",
    "output/test-diff-filter/test-PR26739-2-report-0.txt",
   },
+  {
+   "data/test-diff-filter/test-PR26684-dwarf4.o",
+   "data/test-diff-filter/test-PR26684-dwarf5.o",
+   "--no-default-suppression --leaf-changes-only",
+   "data/test-diff-filter/test-PR26684-report-0.txt",
+   "output/test-diff-filter/test-PR26684-report-0.txt",
+  },
   // This should be the last entry
   {NULL, NULL, NULL, NULL, NULL}
 };