diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index bcb3883a..09eb1d70 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -8418,31 +8418,35 @@ eval_last_constant_dwarf_sub_expr(Dwarf_Op* expr, // // ----------------------------------- -/// Convert the value of the DW_AT_bit_offset attribute into the value -/// of the DW_AT_data_bit_offset attribute. +/// Convert a DW_AT_bit_offset attribute value into the same value as +/// DW_AT_data_bit_offset - 8 * DW_AT_data_member_location. /// /// On big endian machines, the value of the DW_AT_bit_offset +/// attribute + 8 * the value of the DW_AT_data_member_location /// 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. +/// to the left of the most significant bit of the bit field, within +/// the integer value at DW_AT_data_member_location. /// /// 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. +/// the right of the least significant bit of the bit field, again +/// relative to the containing integer value. /// /// 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. +/// instinctively think of as being the "offset of the bit field". 8 * +/// DW_AT_data_member_location + 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. +/// have been if it was present, ignoring the contribution of +/// DW_AT_data_member_location. /// /// Note that DW_AT_bit_offset has been made obsolete starting from -/// DWARF5. +/// DWARF5 (for GCC; Clang still emits it). /// /// 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 @@ -8450,6 +8454,9 @@ eval_last_constant_dwarf_sub_expr(Dwarf_Op* expr, /// read this. /// /// +/// In what follows, the bit fields are all contained within the first +/// whole int of the struct, so DW_AT_data_member_location is 0. +/// /// 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: @@ -8590,8 +8597,9 @@ eval_last_constant_dwarf_sub_expr(Dwarf_Op* expr, /// /// @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. +/// the DW_AT_data_bit_offset parameter, less the contribution of +/// DW_AT_data_member_location. This parameter is set iff the +/// function returns true. /// /// @return true if DW_AT_bit_offset was found on @p die. static bool @@ -8642,12 +8650,13 @@ read_and_convert_DW_at_bit_offset(const Dwarf_Die* die, /// 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 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. +/// be given by the DW_AT_data_bit_offset or by the +/// DW_AT_data_member_location attribute and optionally the +/// DW_AT_bit_offset attribute. The bit offset attributes are +/// always simple constants, but the DW_AT_data_member_location +/// attribute is a DWARF location expression. /// -/// When the it's the DW_AT_data_member_location that is present, +/// When it's the DW_AT_data_member_location that is present, /// there are three cases to possibly take into account: /// /// 1/ The offset in the vtable where the offset of a virtual base @@ -8676,12 +8685,12 @@ read_and_convert_DW_at_bit_offset(const Dwarf_Die* die, /// the offset of the function in the vtable. In this case this /// function returns that constant. /// -///@param ctxt the read context to consider. +/// @param ctxt the read context to consider. /// -///@param die the DIE to read the information from. +/// @param die the DIE to read the information from. /// -///@param offset the resulting constant offset, in bits. This -///argument is set iff the function returns true. +/// @param offset the resulting constant offset, in bits. This +/// argument is set iff the function returns true. static bool die_member_offset(const read_context& ctxt, const Dwarf_Die* die, @@ -8689,39 +8698,24 @@ die_member_offset(const read_context& ctxt, { Dwarf_Op* expr = NULL; uint64_t expr_len = 0; - uint64_t off = 0; + uint64_t bit_offset = 0; // 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)) + if (die_unsigned_constant_attribute(die, DW_AT_data_bit_offset, bit_offset)) { - 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; + offset = bit_offset; return true; } + // Otherwise, let's see if the DW_AT_data_member_location attribute and, + // optionally, the DW_AT_bit_offset attributes are present. if (!die_location_expr(die, DW_AT_data_member_location, &expr, &expr_len)) return false; - // Otherwise, the DW_AT_data_member_location attribute is present. - // In that case, let's evaluate it and get its constant + // The DW_AT_data_member_location attribute is present. + // Let's evaluate it and get its constant // sub-expression and return that one. - if (!eval_quickly(expr, expr_len, offset)) { bool is_tls_address = false; @@ -8730,8 +8724,23 @@ die_member_offset(const read_context& ctxt, ctxt.dwarf_expr_eval_ctxt())) return false; } - offset *= 8; + + // On little endian machines, we need to convert the + // DW_AT_bit_offset attribute into a relative offset to 8 * + // DW_AT_data_member_location equal to what DW_AT_data_bit_offset + // would be if it were used instead. + // + // In other words, before adding it to 8 * + // DW_AT_data_member_location, 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, bit_offset)) + offset += bit_offset; + return true; } diff --git a/tests/data/test-annotate/test13-pr18894.so.abi b/tests/data/test-annotate/test13-pr18894.so.abi index 9e1f066f..da412b84 100644 --- a/tests/data/test-annotate/test13-pr18894.so.abi +++ b/tests/data/test-annotate/test13-pr18894.so.abi @@ -497,23 +497,23 @@ - + - + - + - + - + @@ -538,19 +538,19 @@ - + - + - + - + @@ -799,27 +799,27 @@ - + - + - + - + - + - + @@ -1033,11 +1033,11 @@ - + - + @@ -1074,7 +1074,7 @@ - + @@ -1117,11 +1117,11 @@ - + - + @@ -1179,11 +1179,11 @@ - + - + @@ -1305,11 +1305,11 @@ - + - + @@ -1321,7 +1321,7 @@ - + @@ -3235,11 +3235,11 @@ - + - + diff --git a/tests/data/test-annotate/test15-pr18892.so.abi b/tests/data/test-annotate/test15-pr18892.so.abi index e64f0ff7..11f92374 100644 --- a/tests/data/test-annotate/test15-pr18892.so.abi +++ b/tests/data/test-annotate/test15-pr18892.so.abi @@ -8191,11 +8191,11 @@ - + - + diff --git a/tests/data/test-annotate/test17-pr19027.so.abi b/tests/data/test-annotate/test17-pr19027.so.abi index b07f0565..8401b438 100644 --- a/tests/data/test-annotate/test17-pr19027.so.abi +++ b/tests/data/test-annotate/test17-pr19027.so.abi @@ -9741,11 +9741,11 @@ - + - + @@ -9758,7 +9758,7 @@ - + @@ -9891,15 +9891,15 @@ - + - + - + 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 131b8078..46097898 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 @@ -20701,19 +20701,19 @@ - + - + - + - + diff --git a/tests/data/test-annotate/test21-pr19092.so.abi b/tests/data/test-annotate/test21-pr19092.so.abi index c742d7e4..8b91511a 100644 --- a/tests/data/test-annotate/test21-pr19092.so.abi +++ b/tests/data/test-annotate/test21-pr19092.so.abi @@ -1023,7 +1023,7 @@ - + @@ -1433,15 +1433,15 @@ - + - + - + @@ -1452,11 +1452,11 @@ - + - + @@ -1464,11 +1464,11 @@ - + - + @@ -1496,7 +1496,7 @@ - + @@ -6371,27 +6371,27 @@ - + - + - + - + - + - + @@ -6553,7 +6553,7 @@ - + @@ -7792,15 +7792,15 @@ - + - + - + @@ -7835,15 +7835,15 @@ - + - + - + 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 52b7ce7e..2fe68f42 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 @@ -119,15 +119,15 @@ - - - - + + + + - - - + + + @@ -141,12 +141,18 @@ - + + + + + + + - + @@ -164,16 +170,16 @@ - + - + - + - + @@ -182,17 +188,15 @@ - - - - - - - - - + - + + + + + + + @@ -244,23 +248,19 @@ - - - - + - - - - - - - + - + + + + + + - + @@ -327,7 +327,7 @@ - + @@ -336,9 +336,9 @@ - - - + + + @@ -361,7 +361,7 @@ - + @@ -387,6 +387,17 @@ + + + + + + + + + + + @@ -395,17 +406,6 @@ - - - - - - - - - - - @@ -423,10 +423,10 @@ - + - + @@ -444,34 +444,12 @@ - + - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -480,43 +458,32 @@ - + - + - + - + - - + + - - - - - + + - + - + - - - - - - - - - + @@ -531,31 +498,70 @@ - + - + + + + + + + + + + - - - - - - - - - + - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -574,7 +580,7 @@ - + @@ -594,38 +600,31 @@ - - + - - - - - - - - - - + - - - - - - - - - + - + - + - + + + + + + + + + + + + @@ -633,28 +632,63 @@ - + - + - + + + + - + - + - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -662,15 +696,15 @@ - + - + - + @@ -681,75 +715,41 @@ - + - + - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - + + + + + + - - - + + + - + - + - + @@ -757,22 +757,22 @@ - + - + - + - + - - + + @@ -781,29 +781,29 @@ - + - + - - + + - - + + - - + + @@ -823,7 +823,7 @@ - + @@ -888,16 +888,16 @@ - + - + - + @@ -927,37 +927,12 @@ - + - - - - - - - - - - - - - - - - - - + - - - - - - - - - + @@ -972,148 +947,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -1131,6 +970,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1148,61 +1242,38 @@ - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + @@ -1215,30 +1286,30 @@ - - + + - + - + - + - + - + - + - + @@ -1247,27 +1318,20 @@ - - + + - + - + - + - - - - - - - - + @@ -1278,220 +1342,16 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1508,80 +1368,202 @@ - + - + - - + + - - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + - + - + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1611,45 +1593,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -1659,37 +1611,98 @@ - + - + - + + + + + + + + + + + + + + + + - - - - - - - - - + - + - - + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1697,7 +1710,7 @@ - + @@ -1709,7 +1722,7 @@ - + @@ -1720,31 +1733,31 @@ - + - + - + - + - + - + @@ -1752,63 +1765,60 @@ - + - + - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1819,79 +1829,79 @@ - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - + - + - + - - + + - + @@ -1912,7 +1922,7 @@ - + @@ -1920,38 +1930,38 @@ - + - + - + - - + + - - + + - + - - + + - - + + - + @@ -1969,65 +1979,65 @@ - + - + - + - + - + - + - + - + - + - - + + - - + + - + - + - + - + - - + + - - + + - + @@ -2035,22 +2045,22 @@ - - - - - - - - - + - + - + + + + + + + + + @@ -2059,15 +2069,15 @@ - + - + - + @@ -2075,15 +2085,101 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -2094,114 +2190,152 @@ - + - + - + - + - + - + - + - + - + - + - + + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + - - - - - - - - - - - - - - + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + @@ -2214,7 +2348,7 @@ - + @@ -2222,215 +2356,14 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + @@ -2442,9 +2375,201 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2453,7 +2578,7 @@ - + @@ -2461,212 +2586,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -2686,180 +2614,253 @@ - + + - + - + - - - - - - - - - - + - + - - - - + + - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - - - + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - + - - + + - - + + @@ -2868,16 +2869,16 @@ - - + + - + - + @@ -2885,8 +2886,8 @@ - - + + @@ -2895,14 +2896,14 @@ - - + + - + @@ -2912,7 +2913,7 @@ - + @@ -2938,19 +2939,19 @@ - + - - + + - + @@ -2969,13 +2970,13 @@ - + - + @@ -2984,50 +2985,50 @@ - + - + - + - - + + - - + + - + - - + + - + - + - + - - + + @@ -3048,12 +3049,12 @@ - + - + @@ -3099,7 +3100,7 @@ - + @@ -3126,7 +3127,128 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3137,526 +3259,553 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + - + - - + + + + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + - + - + @@ -3671,65 +3820,19 @@ - + - - - - - - - - + + + + - + - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + @@ -3740,9 +3843,80 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3760,13 +3934,6 @@ - - - - - - - @@ -3775,22 +3942,9 @@ - + - - - - - - - - - - - - - - + @@ -3805,544 +3959,314 @@ - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - + - + - - + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - + + - + - - - - - - - - + + - + - + - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - - - - - - - - - - + - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - + - + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - + - - - - - - - - + - + @@ -4354,16 +4278,16 @@ - + - + - + - + @@ -4372,10 +4296,10 @@ - + - + @@ -4405,10 +4329,10 @@ - + - + @@ -4420,13 +4344,13 @@ - + - + - + @@ -4435,16 +4359,16 @@ - + - + - + @@ -4453,109 +4377,12 @@ - + - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -4564,17 +4391,15 @@ - - + - + - - + @@ -4582,246 +4407,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - + - - - - - - - - - - - - - + - - - - - - - - - - + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -4837,351 +4436,756 @@ - - - - + - + - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - + - + - + + + + - - - - - - + - + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - + - - - + + + - + - + - + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -5196,25 +5200,25 @@ - + - + - - + + - + - + @@ -5224,250 +5228,250 @@ - + - + - + - + - - + + - + - - - + + + - - + + - + - + - - - + + + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - - - + + + - - - - + + + + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + @@ -5475,29 +5479,29 @@ - + - - + + - + - + - + @@ -5512,14 +5516,14 @@ - + - + - + @@ -5545,9 +5549,9 @@ - + - + @@ -5555,30 +5559,30 @@ - + - + - + - + - - + + @@ -5587,7 +5591,7 @@ - + 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 5eb2cdab..ed7c6df8 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 @@ -1,45 +1,3 @@ -================ changes of 'libcdio.so.16.0.0'=============== - Functions changes summary: 0 Removed, 2 Changed, 0 Added functions - Variables changes summary: 0 Removed, 0 Changed, 0 Added variable - - 2 functions with some indirect sub-type change: - - [C] 'function discmode_t mmc_get_dvd_struct_physical(const CdIo_t*, cdio_dvd_struct_t*)' at mmc.c:949:1 has some indirect sub-type changes: - parameter 2 of type 'cdio_dvd_struct_t*' has sub-type changes: - in pointed to type 'typedef cdio_dvd_struct_t' at dvd.h:130:1: - underlying type 'union {uint8_t type; cdio_dvd_physical_t physical; cdio_dvd_copyright_t copyright; cdio_dvd_disckey_t disckey; cdio_dvd_bca_t bca; cdio_dvd_manufact_t manufact;}' at dvd.h:122:1 changed: - type size hasn't changed - 2 data member changes: - type of 'cdio_dvd_disckey_t disckey' changed: - underlying type 'struct cdio_dvd_disckey' at dvd.h:100:1 changed: - type size hasn't changed - 1 data member change: - 'unsigned int 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 - 1 data member change: - type of 'cdio_dvd_layer_t layer[4]' changed: - array element type 'typedef cdio_dvd_layer_t' changed: - underlying type 'struct cdio_dvd_layer' at dvd.h:65:1 changed: - type size hasn't changed - 8 data member changes: - 'unsigned int layer_type' offset changed from 0 to 16 (in bits) (by +16 bits) - 'unsigned int min_rate' offset changed from 0 to 8 (in bits) (by +8 bits) - 'unsigned int linear_density' offset changed from 3 to 27 (in bits) (by +24 bits) - 'unsigned int disc_size' offset changed from 4 to 12 (in bits) (by +8 bits) - 'unsigned int track_path' offset changed from 4 to 20 (in bits) (by +16 bits) - 'unsigned int nlayers' offset changed from 5 to 21 (in bits) (by +16 bits) - 'unsigned int bca' offset changed from 7 to 31 (in bits) (by +24 bits) - 'unsigned int 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: - parameter 3 of type 'cdio_dvd_struct_t*' has sub-type changes: - pointed to type 'typedef cdio_dvd_struct_t' changed at dvd.h:130:1, as reported earlier - -================ end of changes of 'libcdio.so.16.0.0'=============== - ================ changes of 'libiso9660++.so.0.0.0'=============== Functions changes summary: 1 Removed, 0 Changed, 1 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable diff --git a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi index 9766d691..0fd49315 100644 --- a/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi +++ b/tests/data/test-read-dwarf/PR25007-sdhci.ko.abi @@ -681,7 +681,7 @@ - + @@ -1551,16 +1551,16 @@ - + - + - + - + @@ -3013,16 +3013,16 @@ - + - + - + - + @@ -3332,10 +3332,10 @@ - + - + @@ -3581,19 +3581,19 @@ - + - + - + - + - + @@ -4620,19 +4620,19 @@ - + - + - + - + - + @@ -4918,22 +4918,22 @@ - + - + - + - + - + - + @@ -5445,31 +5445,31 @@ - + - + - + - + - + - + - + - + - + @@ -6112,10 +6112,10 @@ - + - + @@ -6349,34 +6349,34 @@ - + - + - + - + - + - + - + - + - + - + @@ -6394,19 +6394,19 @@ - + - + - + - + - + @@ -6430,37 +6430,37 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -6566,10 +6566,10 @@ - + - + @@ -7488,19 +7488,19 @@ - + - + - + - + - + @@ -7691,37 +7691,37 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -8175,10 +8175,10 @@ - + - + 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 3d94607c..cb8303d1 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 @@ -359,28 +359,28 @@ - + - + - + - + - + - + - + - + @@ -425,16 +425,16 @@ - + - + - + - + diff --git a/tests/data/test-read-dwarf/test13-pr18894.so.abi b/tests/data/test-read-dwarf/test13-pr18894.so.abi index e9ded79a..b00e46c6 100644 --- a/tests/data/test-read-dwarf/test13-pr18894.so.abi +++ b/tests/data/test-read-dwarf/test13-pr18894.so.abi @@ -254,19 +254,19 @@ - + - + - + - + - + @@ -284,16 +284,16 @@ - + - + - + - + @@ -463,22 +463,22 @@ - + - + - + - + - + - + @@ -606,10 +606,10 @@ - + - + @@ -636,7 +636,7 @@ - + @@ -667,10 +667,10 @@ - + - + @@ -709,10 +709,10 @@ - + - + @@ -789,10 +789,10 @@ - + - + @@ -801,7 +801,7 @@ - + @@ -1901,10 +1901,10 @@ - + - + diff --git a/tests/data/test-read-dwarf/test15-pr18892.so.abi b/tests/data/test-read-dwarf/test15-pr18892.so.abi index 358000f0..20944bf2 100644 --- a/tests/data/test-read-dwarf/test15-pr18892.so.abi +++ b/tests/data/test-read-dwarf/test15-pr18892.so.abi @@ -4608,10 +4608,10 @@ - + - + diff --git a/tests/data/test-read-dwarf/test17-pr19027.so.abi b/tests/data/test-read-dwarf/test17-pr19027.so.abi index f7a11194..55b77e34 100644 --- a/tests/data/test-read-dwarf/test17-pr19027.so.abi +++ b/tests/data/test-read-dwarf/test17-pr19027.so.abi @@ -6242,10 +6242,10 @@ - + - + @@ -6255,7 +6255,7 @@ - + @@ -6349,13 +6349,13 @@ - + - + - + 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 38fd82e3..2b5466df 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 @@ -12728,16 +12728,16 @@ - + - + - + - + diff --git a/tests/data/test-read-dwarf/test21-pr19092.so.abi b/tests/data/test-read-dwarf/test21-pr19092.so.abi index b4a20a04..393bcc47 100644 --- a/tests/data/test-read-dwarf/test21-pr19092.so.abi +++ b/tests/data/test-read-dwarf/test21-pr19092.so.abi @@ -537,7 +537,7 @@ - + @@ -840,13 +840,13 @@ - + - + - + @@ -854,19 +854,19 @@ - + - + - + - + @@ -887,7 +887,7 @@ - + @@ -4042,22 +4042,22 @@ - + - + - + - + - + - + @@ -4198,7 +4198,7 @@ - + @@ -5072,13 +5072,13 @@ - + - + - + @@ -5104,13 +5104,13 @@ - + - + - + 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 1739af09..7e9c6206 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 @@ -27274,10 +27274,10 @@ - + - + @@ -27314,10 +27314,10 @@ - + - + @@ -37373,13 +37373,13 @@ - + - + - +