From patchwork Fri Jul 9 23:16:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Giuliano Procida X-Patchwork-Id: 44304 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D0201385C407 for ; Fri, 9 Jul 2021 23:17:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D0201385C407 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1625872643; bh=4XpVKxhFXriHm9ZZp8Dbnge/UM6XUBeVeNECTarY7G0=; h=Date:In-Reply-To:References:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Help:List-Subscribe:From:Reply-To:Cc:From; b=RPrnoL7L32KEiwPfDONl5IpLbqzl1IDuWHB+wm5CxCkT7VaBPQYld0UfOT19vAv2e 98fB5sRL0SmhWY93pAhOcIYpHilkvr+KEPdclGaUCMPcYU6cA44DJMPVzz0yXmm/Lw 1bUQW3La5/d77wVo+mbg2tScxUmrcDNQmjSwQ/mI= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from mail-wm1-x34a.google.com (mail-wm1-x34a.google.com [IPv6:2a00:1450:4864:20::34a]) by sourceware.org (Postfix) with ESMTPS id 50EE03994825 for ; Fri, 9 Jul 2021 23:17:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 50EE03994825 Received: by mail-wm1-x34a.google.com with SMTP id n17-20020a05600c4f91b0290209ebf81aabso4596372wmq.2 for ; Fri, 09 Jul 2021 16:17:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc:content-transfer-encoding; bh=4XpVKxhFXriHm9ZZp8Dbnge/UM6XUBeVeNECTarY7G0=; b=c7TBBFDYBw+BgO6vDPHGXfjP/xw8IPXsBKu39lkJURE1mIPH3QTbmnC9g7b2xGHA61 Ae4tU7Qej+jDE/tXsObZLDV8ixM05bMfo7TMffRUgJxzJUw0/qRk4xdGarX1gq41594v cHLbdbTmV/bidyRJ190sY3hVWnIR+XSUMgj1ICBNN4rtXS38r3540O2h/YOXB7wd+Vd1 vYYnaBrHJXLHntjviHUTwW1v9xIGxbLcrk+RS4UEIvUAMAXXBvhw82i0nONAalqC4qMe XCZ4HGqxUQS5+EgoWrHR0e1mrroLha4BqONa1xNbo1FQ2+itnbnXNn97Uh3YYlZbHVBV HEGQ== X-Gm-Message-State: AOAM532cnbV7oQPpGu0reHF7HHSBtrMq2+JOlr/3jIhwqxjg1d6T2sor RppRkrs21n7poDn+WWNMbZMwAUV1z3U98WUbqAdXJT5dtq9HBAvg0eZ9sHETJFLQrEeeYy/A5uO CNRGlqXOwncdoM2QXz1HZ4ijwxhdtfUJjPliUvJFf850ZgeSxjoEybAHLgMSaB/SVQLqYKKA= X-Google-Smtp-Source: ABdhPJzyxlRCpBjb/m5qRS3B9nmcgfDXERrez+UbgGnU2ZqI8IFqCAz1OnULMcQYKn8ufteDRRNtxRS8vqC+6A== X-Received: from tef.lon.corp.google.com ([2a00:79e0:d:210:7141:9291:942a:ca34]) (user=gprocida job=sendgmr) by 2002:adf:e7cc:: with SMTP id e12mr2878863wrn.51.1625872619111; Fri, 09 Jul 2021 16:16:59 -0700 (PDT) Date: Sat, 10 Jul 2021 00:16:49 +0100 In-Reply-To: <20210709231649.2969609-1-gprocida@google.com> Message-Id: <20210709231649.2969609-2-gprocida@google.com> Mime-Version: 1.0 References: <20210709231649.2969609-1-gprocida@google.com> X-Mailer: git-send-email 2.32.0.93.g670b81a890-goog Subject: [PATCH 1/1] DWARF reader: fix bitfield offset calculations To: libabigail@sourceware.org X-Spam-Status: No, score=-23.2 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Giuliano Procida via Libabigail From: Giuliano Procida Reply-To: Giuliano Procida Cc: maennich@google.com, kernel-team@android.com Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" PR28060 - Invalid offset for bitfields Bitfield and other member offsets can be specified in DWARF using: - DW_AT_bit_offset, or - DW_AT_data_member_location and optionally DW_AT_data_bit_offset. The code would only use the value DW_AT_data_member_location if there was no DW_AT_data_bit_offset. This commit fixes this and adjusts documentation and affected tests. * src/abg-dwarf-reader.cc (read_and_convert_DW_at_bit_offset): Update documentation. (die_member_offset): Treat DW_AT_data_bit_offset as an optional adjustment to DW_AT_data_member_location. * tests/data/test-annotate/test13-pr18894.so.abi: Update. * tests/data/test-annotate/test15-pr18892.so.abi: Update. * tests/data/test-annotate/test17-pr19027.so.abi: Update. * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Update. * tests/data/test-annotate/test21-pr19092.so.abi: Update. * tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi: Regenerate. * tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt: Report now empty. * tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Update. * tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi: Update. * tests/data/test-read-dwarf/test13-pr18894.so.abi: Update. * tests/data/test-read-dwarf/test15-pr18892.so.abi: Update. * tests/data/test-read-dwarf/test17-pr19027.so.abi: Update. * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Update. * tests/data/test-read-dwarf/test21-pr19092.so.abi: Update. * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Update. Signed-off-by: Giuliano Procida --- src/abg-dwarf-reader.cc | 60 +- .../data/test-annotate/test13-pr18894.so.abi | 54 +- .../data/test-annotate/test15-pr18892.so.abi | 4 +- .../data/test-annotate/test17-pr19027.so.abi | 12 +- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 8 +- .../data/test-annotate/test21-pr19092.so.abi | 44 +- .../PR25409-librte_bus_dpaa.so.20.0.abi | 5258 +++++++++-------- ...4--libcdio-0.94-2.fc26.x86_64-report.1.txt | 42 - .../data/test-read-dwarf/PR25007-sdhci.ko.abi | 168 +- .../PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi | 24 +- .../test-read-dwarf/test13-pr18894.so.abi | 54 +- .../test-read-dwarf/test15-pr18892.so.abi | 4 +- .../test-read-dwarf/test17-pr19027.so.abi | 12 +- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 8 +- .../test-read-dwarf/test21-pr19092.so.abi | 44 +- .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 14 +- 16 files changed, 2886 insertions(+), 2924 deletions(-) diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index c8cd5170..0f016b66 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -8434,7 +8434,8 @@ 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. +/// of the DW_AT_data_bit_offset attribute, ignoring the byte offset +/// contribution of the DW_AT_data_member_location 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 @@ -8605,8 +8606,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 @@ -8657,10 +8659,11 @@ 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_bit_offset or by the +/// DW_AT_data_member_location attribute and optionally the +/// DW_AT_data_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, /// there are three cases to possibly take into account: @@ -8704,39 +8707,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)) - { - 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)) + if (die_unsigned_constant_attribute(die, DW_AT_data_bit_offset, bit_offset)) { - 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; @@ -8745,8 +8733,20 @@ 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 what it would have been if the DW_AT_data_bit_offset were + // 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, 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,25 +387,25 @@ - - - - - - - - - + + + + + + + + + @@ -423,10 +423,10 @@ - + - + @@ -444,34 +444,12 @@ - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -480,43 +458,32 @@ - + - + - + - - - - - - - - - - + - - - - + + - - + + - + - + - + @@ -531,31 +498,70 @@ - + - + + + + + + + + + + - - - + + + - - + + - - + + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -574,7 +580,7 @@ - + @@ -594,67 +600,95 @@ - - + - + - - + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - - + + + + + - + - + + + + - + - + - + - + - + - + - + @@ -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,55 +947,179 @@ - + - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -1030,20 +1129,20 @@ - + - + - + - + @@ -1051,84 +1150,79 @@ - + - + - + - + - + - + - + - + - + - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + + + + @@ -1148,61 +1242,38 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + @@ -1215,30 +1286,30 @@ - - + + - + - + - + - + - + - + - + @@ -1247,27 +1318,20 @@ - - + + - + - + - + - - - - - - - - + @@ -1278,89 +1342,57 @@ - + - + - + - - - - + - - + + - - + + - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + - - + + - - + + + + - - + + - - + + - + - + @@ -1369,36 +1401,36 @@ - + - + - + - + - + - + - + - + - + - + @@ -1412,15 +1444,15 @@ - + - + - + @@ -1428,160 +1460,110 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - + - - - - - - + + + - - + + - - + + - + - - + + - - + + - - - - + + - - - - - - - - - - - - - - - - + - + - + - - + + + + - - + + - - + + + + - - + + - - + + - + - + - + - + @@ -1611,85 +1593,116 @@ - + + + + + + + + + - + + + + - + - + - + - + - + - - + + - - + + - - + + - - + + + + + - - - + + + - - + + - - + + + + + - + - - + + + + + - - - + + + - - + + - - - - + + - - - - + + - - + + - - + + + + + + + + - + - - + + - - + + + + + + + + + + + - + @@ -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,133 +2085,257 @@ - + - + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - + + + - + - + - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + @@ -2214,7 +2348,7 @@ - + @@ -2222,27 +2356,43 @@ - + - + + + + + + + + + + + + + + + + + - + - + - + - + @@ -2254,13 +2404,13 @@ - + - + - + @@ -2269,7 +2419,7 @@ - + @@ -2281,19 +2431,19 @@ - + - + - + - + - + @@ -2302,17 +2452,16 @@ - + - + - - + @@ -2320,61 +2469,51 @@ - - - + - + - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2382,45 +2521,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2428,23 +2567,9 @@ - - - - - - - - - - - - - - - + - + @@ -2453,7 +2578,7 @@ - + @@ -2461,405 +2586,281 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - - - - + - - + + - - + + - - + + - - + + - - + + - - - - - - + + + + - - - - - + + - - + + - - - - + + - + - + - + - - - - - - - - - + - + - + - + - + - + - + - + - + + + + + + + + + - + - + - + + - + - + - + - + - + - + - + - + - + - - - - + + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - + + - - + + - - - - + + - - + + - - - - + + - - - - - - - - - + + + - - + + - - + + + + + - + - - - + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - + - - + + - - + + @@ -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,537 +3127,685 @@ - + - + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + - + - + - - + + - - + + - - + + + + - - + + - + + + + + + + + + + + + + + + + - + - + - + - + + + + + + + + + + + - + - + - - + + + + + + + + + + + - + - + - + - + - + - - - - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + + + + + + + + + + + + - + - + - - - - - - - - - - + - + - + - + - + - + - - - - + - - - - + - - - - - - - - + + - - + + - - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - + + - + - + - + - + - + - + - - - - - - - - - - - + + + + + + + + - + - + - - + + - - + + - + - + - - + + - - + + + + + + + + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + - + - + - + - + - - + + + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + - - - - + + + + + + + + + - + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + + + - + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + - - + + - + - - - - + - - - - + - + - + - - + + - - + + - - + + - + + + + + + + + + - + + + + - + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + - + @@ -3671,78 +3820,103 @@ - + - - - - - - - - + + + + - + - + + + + + + - + - + + + - + - - + + - - + + + + - - + + + + + + + + + + + + + - - + + - + - - - - + + + + + + + + + - + - + - - + + - - + + + + - - + + - + - + - - + + - - + + + + - + - + @@ -3760,13 +3934,6 @@ - - - - - - - @@ -3775,22 +3942,9 @@ - - - - - - - - - - - - - - + - + @@ -3805,1383 +3959,1233 @@ - + - - - + + + - - + + - - + + - - - - + + - - + + - - - - + + - - + + - - - - + + - + - + - + - - + + - - + + + + + - + - - + + - - - - - - - - - - - - - - - - - - - - - + - + - - - - + - - + + - - + + - - + + - - + + - - + + - + - - - - + - - + + - - + + - - + + - + - - - - + - - + + - - + + + + - - + + - + - + - + - - - - + - - - - + + - - + + - + - - - - - - + + + + - + - + - - + + - - - - + + - - + + - - + + - - - - - - - - - - - - - + + + + + - + - + - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + + + - - + + - - + + - - + + + + - - + + - - + + - + - + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + + + - - + + - - + + - - + + + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + + + - - + + - - + + + + - - + + - - + + + + - - + + - - + + + + - - + + + + - - + + - - + + + + - - + + - - + + + + - - + + - - + + - - + + - - + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - + - + - - - + - + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + - + - - - - + - - - - - - - + - - - - + - - - - + - + - + - + - + - - - - + - + - - - - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - - - + + - - + + - - + + - - - - - + + - - + + - - + + - - + + - - - - - + + - - + + - - - - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - + + - - + + - - - - - - - + + - - + + - - + + - - + + - - - - + + - - + + - - - - - - + + - - + + - - - - - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - + + - - + + - - + + - - + + - - + + - - - + - + - - - - + - + - - - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + - - + + - - + + - - - - + + - - + + - - - - + + - - + + - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - - + + - - + + - + - + - - + + - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - - - - + + - - + + - - - - + + - - + + - - + + - - - - + + - - + + - - - - - - - - - - - - + + - - + + - - + + - - - - - - + + + + + - + - + - - - + - - - - - - + + + + + + - + - - - + + + - + - + - + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -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 @@ - + - + - +