From patchwork Thu Aug 21 12:10:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 118704 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 2221E385C6EC for ; Thu, 21 Aug 2025 12:11:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2221E385C6EC Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=cQm/RQt5 X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 7257B385C6EC for ; Thu, 21 Aug 2025 12:10:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7257B385C6EC Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7257B385C6EC Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1755778243; cv=none; b=ne24gNNZ3j3FCR6n9XLIwmczAAJXhq0lHxoR+08rasdt+oU6EYkqs7tYJju167PmDw/wFWYby2PLRSGD5BcO6ezAU2ElRPjcoqJSzrQRy9vMtC1KGmPEQmKylQ7vwe+miVEdauVmXJCl8CoUp0AWl57QpwaNR+kUNKHmNYiPcrY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1755778243; c=relaxed/simple; bh=icG8Lp4omG5RfYGpUNm+0o3JOfJbpo6Ath+WttWprzE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=etWAfDb67n3peBI953uSg5hMw19PBksR4lti38ZJXPHHRsKR9FsUk48pLPahMeBo03g4LQHnRw63nwwjorCNNTbxz3+hqdSHKfW+Ik7Jbi5cXkWGrjG+vaoIH0WPkx2NYUkFVh2Xl/e8B+XoU9FDDHK63QHCO1GRUybdxMeyzlo= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7257B385C6EC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755778243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=N5/Zj21P6OZS31Nf43IvqtK05oKxo9UyNdWKpXcP0Kw=; b=cQm/RQt5Fp2qsjfLWTWxkLmfEiHijU5uCIhMYAGTDa1kvg2GVjOD9K+XeRH7NsgftFVpmW 23DcGgJsf11X+KG5r/5IoS2EY1xHlx8vzpIpLl4aRpdSf4/xzu7dsQFp/Ig4UCoor04Pzx DjyxsZ4RkZD9IOalTAmLxkuroyfmD9E= Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-304-8tyOIz-1OhuJNwQ6ocwmig-1; Thu, 21 Aug 2025 08:10:40 -0400 X-MC-Unique: 8tyOIz-1OhuJNwQ6ocwmig-1 X-Mimecast-MFC-AGG-ID: 8tyOIz-1OhuJNwQ6ocwmig_1755778239 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 45C52180034F for ; Thu, 21 Aug 2025 12:10:39 +0000 (UTC) Received: from localhost (unknown [10.44.22.16]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 247341800296 for ; Thu, 21 Aug 2025 12:10:37 +0000 (UTC) Received: by localhost (Postfix, from userid 1000) id 8D8E5C1B73C8; Thu, 21 Aug 2025 14:10:34 +0200 (CEST) From: Dodji Seketeli To: libabigail@sourceware.org Subject: [PATCH, applied] Bug 28642 - vtable offset position seems wrong Organization: Red Hat / France X-Operating-System: AlmaLinux 9.6 X-URL: http://www.redhat.com Date: Thu, 21 Aug 2025 14:10:34 +0200 Message-ID: <87o6s8vps5.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: D3HpCQErbLa5i4Pj1lri_CXlMk807bvGTu7WleM6-aU_1755778239 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libabigail-bounces~patchwork=sourceware.org@sourceware.org Hello, When no vtable index DWARF expression is provided for a given virtual method (which is often the case for GCC-generated binaries where it can happen that no vtable index DWARF expression is present for the first virtual member function), the default vtable index value is set to -1. For Clang-generated binaries however, vtable index DWARF expression is always present and the first vtable index is zero, logically. This discrepancy that can exist between the vtable index of the first virtual member function in GCC and Clang generated binaries must be resolved. To that effect, this patch initializes the vtable index to zero by default, rather than to -1. * src/abg-dwarf-reader.cc (die_virtual_function_index): Initialize the default value of the vtable index of the function to 0. * tests/data/test-abidiff-exit/PR33055/PR33055-report-2.txt: Adjust. * tests/data/test-annotate/test14-pr18893.so.abi: Likewise. * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. * tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi: Likewise. * tests/data/test-diff-dwarf/test29-vtable-changes-report-0.txt: Likewise. * tests/data/test-diff-dwarf/test30-vtable-changes-report-0.txt: Likewise. * tests/data/test-diff-dwarf/test31-vtable-changes-report-0.txt: Likewise. * tests/data/test-diff-dwarf/test41-PR20476-hidden-report-0.txt: Likewise. * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise. * tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise. * tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise. * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise. * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise. * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise. * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise. Signed-off-by: Dodji Seketeli Applied to the mainline. --- src/abg-dwarf-reader.cc | 2 + .../PR33055/PR33055-report-2.txt | 6 +- .../data/test-annotate/test14-pr18893.so.abi | 16 +- ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 64 +- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 12 +- ...st20-pr19025-libvtkParallelCore-6.1.so.abi | 64 +- .../test0-pr19026-libvtkIOSQL-6.1.so.1.abi | 104 +-- .../test29-vtable-changes-report-0.txt | 6 +- .../test30-vtable-changes-report-0.txt | 14 +- .../test31-vtable-changes-report-0.txt | 10 +- .../test41-PR20476-hidden-report-0.txt | 14 +- .../test-read-dwarf/test10-pr18818-gcc.so.abi | 24 +- .../test-read-dwarf/test11-pr18828.so.abi | 42 +- .../test-read-dwarf/test14-pr18893.so.abi | 16 +- ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 64 +- ...19-pr19023-libtcmalloc_and_profiler.so.abi | 12 +- ...st20-pr19025-libvtkParallelCore-6.1.so.abi | 64 +- .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 836 +++++++++--------- 18 files changed, 686 insertions(+), 684 deletions(-) diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index 1c0597f9..0ed7fdd4 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -9602,6 +9602,8 @@ die_virtual_function_index(Dwarf_Die* die, Dwarf_Op* expr = NULL; size_t expr_len = 0; + if (die_is_virtual(die)) + vindex = 0; if (!die_location_expr(die, DW_AT_vtable_elem_location, &expr, &expr_len)) return false; diff --git a/tests/data/test-abidiff-exit/PR33055/PR33055-report-2.txt b/tests/data/test-abidiff-exit/PR33055/PR33055-report-2.txt index 0a35da8a..05569cc1 100644 --- a/tests/data/test-abidiff-exit/PR33055/PR33055-report-2.txt +++ b/tests/data/test-abidiff-exit/PR33055/PR33055-report-2.txt @@ -28,14 +28,14 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 member function insertion: 'method virtual void Interface::someNewMethod()' at file.cpp:9:1, virtual at voffset 3/3 2 member function changes: + 'method virtual Interface::~Interface(int)' has some sub-type changes: + implicit parameter 0 of type 'Interface*' has sub-type changes: + pointed to type 'class Interface' changed, as being reported 'method virtual Interface* Interface::clone()' has some sub-type changes: return type changed: pointed to type 'class Interface' changed, as being reported implicit parameter 0 of type 'Interface*' has sub-type changes: pointed to type 'class Interface' changed, as being reported - 'method virtual Interface::~Interface(int)' has some sub-type changes: - implicit parameter 0 of type 'Interface*' has sub-type changes: - pointed to type 'class Interface' changed, as being reported [C] 'method virtual PublicImplementation::~PublicImplementation()' at file.cpp:29:1 has some indirect sub-type changes: implicit parameter 0 of type 'PublicImplementation*' has sub-type changes: diff --git a/tests/data/test-annotate/test14-pr18893.so.abi b/tests/data/test-annotate/test14-pr18893.so.abi index ab889e0f..01e4d2be 100644 --- a/tests/data/test-annotate/test14-pr18893.so.abi +++ b/tests/data/test-annotate/test14-pr18893.so.abi @@ -375,7 +375,7 @@ - + @@ -613,7 +613,7 @@ - + @@ -702,7 +702,7 @@ - + @@ -1474,7 +1474,7 @@ - + @@ -2392,7 +2392,7 @@ - + @@ -2606,7 +2606,7 @@ - + @@ -3755,7 +3755,7 @@ - + @@ -3849,7 +3849,7 @@ - + diff --git a/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi b/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi index 60c258cb..5ca7124e 100644 --- a/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi +++ b/tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi @@ -973,7 +973,7 @@ - + @@ -984,7 +984,7 @@ - + @@ -993,7 +993,7 @@ - + @@ -6631,7 +6631,7 @@ - + @@ -6642,7 +6642,7 @@ - + @@ -6651,7 +6651,7 @@ - + @@ -8476,7 +8476,7 @@ - + @@ -8487,7 +8487,7 @@ - + @@ -8496,7 +8496,7 @@ - + @@ -9065,7 +9065,7 @@ - + @@ -9834,7 +9834,7 @@ - + @@ -9848,7 +9848,7 @@ - + @@ -9864,7 +9864,7 @@ - + @@ -9880,7 +9880,7 @@ - + @@ -10543,7 +10543,7 @@ - + @@ -10554,7 +10554,7 @@ - + @@ -10563,7 +10563,7 @@ - + @@ -11092,7 +11092,7 @@ - + @@ -11110,7 +11110,7 @@ - + @@ -11435,7 +11435,7 @@ - + @@ -11446,7 +11446,7 @@ - + @@ -11455,7 +11455,7 @@ - + @@ -12170,7 +12170,7 @@ - + @@ -12181,7 +12181,7 @@ - + @@ -12190,7 +12190,7 @@ - + @@ -13407,7 +13407,7 @@ - + @@ -13418,7 +13418,7 @@ - + @@ -13427,7 +13427,7 @@ - + @@ -15078,7 +15078,7 @@ - + @@ -15092,7 +15092,7 @@ - + @@ -15108,7 +15108,7 @@ - + @@ -15124,7 +15124,7 @@ - + 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 8c40806b..d6fbf242 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 @@ -9417,7 +9417,7 @@ - + @@ -9428,7 +9428,7 @@ - + @@ -9437,7 +9437,7 @@ - + @@ -9722,7 +9722,7 @@ - + @@ -9733,7 +9733,7 @@ - + @@ -9742,7 +9742,7 @@ - + diff --git a/tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi b/tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi index 9cae75dc..c87ec305 100644 --- a/tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi +++ b/tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi @@ -801,7 +801,7 @@ - + @@ -1307,7 +1307,7 @@ - + @@ -1318,7 +1318,7 @@ - + @@ -1327,7 +1327,7 @@ - + @@ -5138,7 +5138,7 @@ - + @@ -5149,7 +5149,7 @@ - + @@ -5158,7 +5158,7 @@ - + @@ -5315,7 +5315,7 @@ - + @@ -5326,7 +5326,7 @@ - + @@ -5335,7 +5335,7 @@ - + @@ -5870,7 +5870,7 @@ - + @@ -5881,7 +5881,7 @@ - + @@ -5890,7 +5890,7 @@ - + @@ -6630,7 +6630,7 @@ - + @@ -6641,7 +6641,7 @@ - + @@ -6650,7 +6650,7 @@ - + @@ -8060,7 +8060,7 @@ - + @@ -8071,7 +8071,7 @@ - + @@ -8080,7 +8080,7 @@ - + @@ -10309,7 +10309,7 @@ - + @@ -10320,7 +10320,7 @@ - + @@ -10329,7 +10329,7 @@ - + @@ -11838,7 +11838,7 @@ - + @@ -12371,7 +12371,7 @@ - + @@ -12382,7 +12382,7 @@ - + @@ -12391,7 +12391,7 @@ - + @@ -12627,7 +12627,7 @@ - + @@ -12638,7 +12638,7 @@ - + @@ -12647,7 +12647,7 @@ - + @@ -13332,7 +13332,7 @@ - + @@ -13343,7 +13343,7 @@ - + @@ -13352,7 +13352,7 @@ - + diff --git a/tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi b/tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi index ac91796c..b1e69021 100644 --- a/tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi +++ b/tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi @@ -651,20 +651,20 @@ - + - + - + @@ -1359,20 +1359,20 @@ - + - + - + @@ -2191,20 +2191,20 @@ - + - + - + @@ -2997,20 +2997,20 @@ - + - + - + @@ -3314,7 +3314,7 @@ - + @@ -3324,7 +3324,7 @@ - + @@ -3334,7 +3334,7 @@ - + @@ -3344,7 +3344,7 @@ - + @@ -3841,20 +3841,20 @@ - + - + - + @@ -4047,20 +4047,20 @@ - + - + - + @@ -4508,7 +4508,7 @@ - + @@ -4518,7 +4518,7 @@ - + @@ -4528,7 +4528,7 @@ - + @@ -4538,7 +4538,7 @@ - + @@ -5997,20 +5997,20 @@ - + - + - + @@ -6593,20 +6593,20 @@ - + - + - + @@ -6882,7 +6882,7 @@ - + @@ -6893,7 +6893,7 @@ - + @@ -6903,7 +6903,7 @@ - + @@ -6913,7 +6913,7 @@ - + @@ -7111,20 +7111,20 @@ - + - + - + @@ -7524,7 +7524,7 @@ - + @@ -7534,7 +7534,7 @@ - + @@ -7544,7 +7544,7 @@ - + @@ -7554,7 +7554,7 @@ - + @@ -7611,20 +7611,20 @@ - + - + - + @@ -8076,20 +8076,20 @@ - + - + - + @@ -8450,20 +8450,20 @@ - + - + - + diff --git a/tests/data/test-diff-dwarf/test29-vtable-changes-report-0.txt b/tests/data/test-diff-dwarf/test29-vtable-changes-report-0.txt index 5d924741..c1fcf643 100644 --- a/tests/data/test-diff-dwarf/test29-vtable-changes-report-0.txt +++ b/tests/data/test-diff-dwarf/test29-vtable-changes-report-0.txt @@ -15,9 +15,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 member function insertion: 'method virtual void S::fn1()', virtual at voffset 3/3 4 member function changes: - 'method virtual void S::fn0()' has some sub-type changes: - implicit parameter 0 of type 'S*' has sub-type changes: - pointed to type 'struct S' changed, as being reported 'method virtual S::~S()' has some sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as being reported @@ -27,6 +24,9 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 'method virtual S::~S(int)' has some sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as being reported + 'method virtual void S::fn0()' has some sub-type changes: + implicit parameter 0 of type 'S*' has sub-type changes: + pointed to type 'struct S' changed, as being reported [C] 'method virtual S::~S()' has some indirect sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: diff --git a/tests/data/test-diff-dwarf/test30-vtable-changes-report-0.txt b/tests/data/test-diff-dwarf/test30-vtable-changes-report-0.txt index c27782d4..190c1d5f 100644 --- a/tests/data/test-diff-dwarf/test30-vtable-changes-report-0.txt +++ b/tests/data/test-diff-dwarf/test30-vtable-changes-report-0.txt @@ -12,21 +12,21 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 member function insertion: 'method virtual void S::fvtable_breaker()', virtual at voffset 3/4 5 member function changes: - 'method virtual void S::fn0()' has some sub-type changes: + 'method virtual S::~S()' has some sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as being reported - 'method virtual void S::fn1()' has some sub-type changes: - the vtable offset of method virtual void S::fn1() changed from 3 to 4 - note that this is an ABI incompatible change to the vtable of struct S + 'method virtual S::~S()' has some sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as being reported - 'method virtual S::~S()' has some sub-type changes: + 'method virtual S::~S(int)' has some sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as being reported - 'method virtual S::~S()' has some sub-type changes: + 'method virtual void S::fn0()' has some sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as being reported - 'method virtual S::~S(int)' has some sub-type changes: + 'method virtual void S::fn1()' has some sub-type changes: + the vtable offset of method virtual void S::fn1() changed from 3 to 4 + note that this is an ABI incompatible change to the vtable of struct S implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as being reported diff --git a/tests/data/test-diff-dwarf/test31-vtable-changes-report-0.txt b/tests/data/test-diff-dwarf/test31-vtable-changes-report-0.txt index 3ec9d2b7..2261d68e 100644 --- a/tests/data/test-diff-dwarf/test31-vtable-changes-report-0.txt +++ b/tests/data/test-diff-dwarf/test31-vtable-changes-report-0.txt @@ -17,11 +17,6 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 member function deletion: 'method virtual void S::fn0()', virtual at voffset 2/3 4 member function changes: - 'method virtual void S::fn1()' has some sub-type changes: - the vtable offset of method virtual void S::fn1() changed from 3 to 2 - note that this is an ABI incompatible change to the vtable of struct S - implicit parameter 0 of type 'S*' has sub-type changes: - pointed to type 'struct S' changed, as being reported 'method virtual S::~S()' has some sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as being reported @@ -31,6 +26,11 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 'method virtual S::~S(int)' has some sub-type changes: implicit parameter 0 of type 'S*' has sub-type changes: pointed to type 'struct S' changed, as being reported + 'method virtual void S::fn1()' has some sub-type changes: + the vtable offset of method virtual void S::fn1() changed from 3 to 2 + note that this is an ABI incompatible change to the vtable of struct S + implicit parameter 0 of type 'S*' has sub-type changes: + pointed to type 'struct S' changed, as being reported 2 functions with some indirect sub-type change: diff --git a/tests/data/test-diff-dwarf/test41-PR20476-hidden-report-0.txt b/tests/data/test-diff-dwarf/test41-PR20476-hidden-report-0.txt index 10839aa7..a3e86f2b 100644 --- a/tests/data/test-diff-dwarf/test41-PR20476-hidden-report-0.txt +++ b/tests/data/test-diff-dwarf/test41-PR20476-hidden-report-0.txt @@ -10,21 +10,21 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 member function insertion: 'method virtual void Interface::method2()', virtual at voffset 3/4 5 member function changes: - 'method virtual void Interface::method1()' has some sub-type changes: + 'method virtual Interface::~Interface()' has some sub-type changes: implicit parameter 0 of type 'Interface*' has sub-type changes: pointed to type 'class Interface' changed, as being reported - 'method virtual void Interface::method3()' has some sub-type changes: - the vtable offset of method virtual void Interface::method3() changed from 3 to 4 - note that this is an ABI incompatible change to the vtable of class Interface + 'method virtual Interface::~Interface()' has some sub-type changes: implicit parameter 0 of type 'Interface*' has sub-type changes: pointed to type 'class Interface' changed, as being reported - 'method virtual Interface::~Interface()' has some sub-type changes: + 'method virtual Interface::~Interface(int)' has some sub-type changes: implicit parameter 0 of type 'Interface*' has sub-type changes: pointed to type 'class Interface' changed, as being reported - 'method virtual Interface::~Interface()' has some sub-type changes: + 'method virtual void Interface::method1()' has some sub-type changes: implicit parameter 0 of type 'Interface*' has sub-type changes: pointed to type 'class Interface' changed, as being reported - 'method virtual Interface::~Interface(int)' has some sub-type changes: + 'method virtual void Interface::method3()' has some sub-type changes: + the vtable offset of method virtual void Interface::method3() changed from 3 to 4 + note that this is an ABI incompatible change to the vtable of class Interface implicit parameter 0 of type 'Interface*' has sub-type changes: pointed to type 'class Interface' changed, as being reported diff --git a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi index 3eebcbf1..5838efb8 100644 --- a/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi +++ b/tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi @@ -1539,20 +1539,20 @@ - + - + - + @@ -2792,20 +2792,20 @@ - + - + - + @@ -3645,20 +3645,20 @@ - + - + - + @@ -3739,20 +3739,20 @@ - + - + - + diff --git a/tests/data/test-read-dwarf/test11-pr18828.so.abi b/tests/data/test-read-dwarf/test11-pr18828.so.abi index a2d6dd87..acd7a750 100644 --- a/tests/data/test-read-dwarf/test11-pr18828.so.abi +++ b/tests/data/test-read-dwarf/test11-pr18828.so.abi @@ -3292,7 +3292,7 @@ - + @@ -8255,20 +8255,20 @@ - + - + - + @@ -8834,20 +8834,20 @@ - + - + - + @@ -8913,20 +8913,20 @@ - + - + - + @@ -8992,20 +8992,20 @@ - + - + - + @@ -9812,20 +9812,20 @@ - + - + - + @@ -9905,7 +9905,7 @@ - + @@ -9956,7 +9956,7 @@ - + @@ -10355,7 +10355,7 @@ - + @@ -10463,7 +10463,7 @@ - + @@ -10609,7 +10609,7 @@ - + diff --git a/tests/data/test-read-dwarf/test14-pr18893.so.abi b/tests/data/test-read-dwarf/test14-pr18893.so.abi index 8f94b80c..c9fe9c9c 100644 --- a/tests/data/test-read-dwarf/test14-pr18893.so.abi +++ b/tests/data/test-read-dwarf/test14-pr18893.so.abi @@ -247,7 +247,7 @@ - + @@ -398,7 +398,7 @@ - + @@ -455,7 +455,7 @@ - + @@ -951,7 +951,7 @@ - + @@ -1506,7 +1506,7 @@ - + @@ -1648,7 +1648,7 @@ - + @@ -2381,7 +2381,7 @@ - + @@ -2443,7 +2443,7 @@ - + diff --git a/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi b/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi index 4e658dff..c0c2643e 100644 --- a/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi +++ b/tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi @@ -521,20 +521,20 @@ - + - + - + @@ -3824,20 +3824,20 @@ - + - + - + @@ -4963,20 +4963,20 @@ - + - + - + @@ -5348,7 +5348,7 @@ - + @@ -5817,7 +5817,7 @@ - + @@ -5826,7 +5826,7 @@ - + @@ -5836,7 +5836,7 @@ - + @@ -5846,7 +5846,7 @@ - + @@ -6227,20 +6227,20 @@ - + - + - + @@ -6566,7 +6566,7 @@ - + @@ -6577,7 +6577,7 @@ - + @@ -6776,20 +6776,20 @@ - + - + - + @@ -7198,20 +7198,20 @@ - + - + - + @@ -8030,20 +8030,20 @@ - + - + - + @@ -9016,7 +9016,7 @@ - + @@ -9025,7 +9025,7 @@ - + @@ -9035,7 +9035,7 @@ - + @@ -9045,7 +9045,7 @@ - + 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 8aca6c94..2c2f95cd 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 @@ -5650,20 +5650,20 @@ - + - + - + @@ -5845,20 +5845,20 @@ - + - + - + diff --git a/tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi b/tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi index 165a3c86..b28fd349 100644 --- a/tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi +++ b/tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi @@ -417,7 +417,7 @@ - + @@ -738,20 +738,20 @@ - + - + - + @@ -3020,20 +3020,20 @@ - + - + - + @@ -3129,20 +3129,20 @@ - + - + - + @@ -3491,20 +3491,20 @@ - + - + - + @@ -3947,20 +3947,20 @@ - + - + - + @@ -4726,20 +4726,20 @@ - + - + - + @@ -6125,20 +6125,20 @@ - + - + - + @@ -7046,7 +7046,7 @@ - + @@ -7345,20 +7345,20 @@ - + - + - + @@ -7508,20 +7508,20 @@ - + - + - + @@ -7946,20 +7946,20 @@ - + - + - + 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 43f813fe..e34b8bb4 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 @@ -3676,20 +3676,20 @@ - + - + - + @@ -3708,20 +3708,20 @@ - + - + - + @@ -3756,20 +3756,20 @@ - + - + - + @@ -3800,20 +3800,20 @@ - + - + - + @@ -3901,20 +3901,20 @@ - + - + - + @@ -3976,20 +3976,20 @@ - + - + - + @@ -4301,20 +4301,20 @@ - + - + - + @@ -4466,20 +4466,20 @@ - + - + - + @@ -4493,20 +4493,20 @@ - + - + - + @@ -4523,20 +4523,20 @@ - + - + - + @@ -4805,20 +4805,20 @@ - + - + - + @@ -4835,20 +4835,20 @@ - + - + - + @@ -4869,20 +4869,20 @@ - + - + - + @@ -4915,20 +4915,20 @@ - + - + - + @@ -4978,20 +4978,20 @@ - + - + - + @@ -5070,20 +5070,20 @@ - + - + - + @@ -5137,20 +5137,20 @@ - + - + - + @@ -5178,20 +5178,20 @@ - + - + - + @@ -5247,20 +5247,20 @@ - + - + - + @@ -5463,20 +5463,20 @@ - + - + - + @@ -6189,20 +6189,20 @@ - + - + - + @@ -6628,7 +6628,7 @@ - + @@ -6671,7 +6671,7 @@ - + @@ -6750,7 +6750,7 @@ - + @@ -6884,20 +6884,20 @@ - + - + - + @@ -6936,27 +6936,27 @@ - + - - + + - - + + - - + + @@ -6968,20 +6968,20 @@ - + - + - + @@ -11022,20 +11022,20 @@ - + - + - + @@ -11306,20 +11306,20 @@ - + - + - + @@ -11644,20 +11644,20 @@ - + - + - + @@ -11870,20 +11870,20 @@ - + - + - + @@ -12327,7 +12327,7 @@ - + @@ -12335,19 +12335,19 @@ - + - + - + @@ -12792,7 +12792,7 @@ - + @@ -12800,19 +12800,19 @@ - + - + - + @@ -13084,20 +13084,20 @@ - + - + - + @@ -13438,20 +13438,20 @@ - + - + - + @@ -13580,20 +13580,20 @@ - + - + - + @@ -13847,20 +13847,20 @@ - + - + - + @@ -15957,7 +15957,7 @@ - + @@ -15965,19 +15965,19 @@ - + - + - + @@ -16074,7 +16074,7 @@ - + @@ -16082,19 +16082,19 @@ - + - + - + @@ -16191,7 +16191,7 @@ - + @@ -16199,19 +16199,19 @@ - + - + - + @@ -16308,7 +16308,7 @@ - + @@ -16316,19 +16316,19 @@ - + - + - + @@ -16425,7 +16425,7 @@ - + @@ -16433,19 +16433,19 @@ - + - + - + @@ -16542,7 +16542,7 @@ - + @@ -16550,19 +16550,19 @@ - + - + - + @@ -16585,20 +16585,20 @@ - + - + - + @@ -16684,20 +16684,20 @@ - + - + - + @@ -16799,7 +16799,7 @@ - + @@ -16807,19 +16807,19 @@ - + - + - + @@ -16858,7 +16858,7 @@ - + @@ -16866,19 +16866,19 @@ - + - + - + @@ -17194,7 +17194,7 @@ - + @@ -17202,19 +17202,19 @@ - + - + - + @@ -17530,7 +17530,7 @@ - + @@ -17538,19 +17538,19 @@ - + - + - + @@ -17590,20 +17590,20 @@ - + - + - + @@ -17706,20 +17706,20 @@ - + - + - + @@ -18846,20 +18846,20 @@ - + - + - + @@ -18871,20 +18871,20 @@ - + - + - + @@ -18904,20 +18904,20 @@ - + - + - + @@ -19017,7 +19017,7 @@ - + @@ -19032,7 +19032,7 @@ - + @@ -19056,7 +19056,7 @@ - + @@ -20682,20 +20682,20 @@ - + - + - + @@ -20723,20 +20723,20 @@ - + - + - + @@ -21709,20 +21709,20 @@ - + - + - + @@ -22036,20 +22036,20 @@ - + - + - + @@ -22217,7 +22217,7 @@ - + @@ -22225,19 +22225,19 @@ - + - + - + @@ -22307,7 +22307,7 @@ - + @@ -22315,19 +22315,19 @@ - + - + - + @@ -22672,20 +22672,20 @@ - + - + - + @@ -23467,20 +23467,20 @@ - + - + - + @@ -23561,20 +23561,20 @@ - + - + - + @@ -23829,20 +23829,20 @@ - + - + - + @@ -23854,20 +23854,20 @@ - + - + - + @@ -24552,20 +24552,20 @@ - + - + - + @@ -24909,20 +24909,20 @@ - + - + - + @@ -25248,20 +25248,20 @@ - + - + - + @@ -25546,20 +25546,20 @@ - + - + - + @@ -26965,20 +26965,20 @@ - + - + - + @@ -27092,20 +27092,20 @@ - + - + - + @@ -27194,20 +27194,20 @@ - + - + - + @@ -27266,20 +27266,20 @@ - + - + - + @@ -27732,20 +27732,20 @@ - + - + - + @@ -27973,20 +27973,20 @@ - + - + - + @@ -28003,20 +28003,20 @@ - + - + - + @@ -28092,20 +28092,20 @@ - + - + - + @@ -28148,20 +28148,20 @@ - + - + - + @@ -28247,20 +28247,20 @@ - + - + - + @@ -28302,20 +28302,20 @@ - + - + - + @@ -28389,20 +28389,20 @@ - + - + - + @@ -28496,20 +28496,20 @@ - + - + - + @@ -28645,20 +28645,20 @@ - + - + - + @@ -28826,20 +28826,20 @@ - + - + - + @@ -28913,20 +28913,20 @@ - + - + - + @@ -28946,20 +28946,20 @@ - + - + - + @@ -28976,20 +28976,20 @@ - + - + - + @@ -29128,20 +29128,20 @@ - + - + - + @@ -29219,20 +29219,20 @@ - + - + - + @@ -29281,20 +29281,20 @@ - + - + - + @@ -29323,20 +29323,20 @@ - + - + - + @@ -29407,20 +29407,20 @@ - + - + - + @@ -29491,20 +29491,20 @@ - + - + - + @@ -29664,20 +29664,20 @@ - + - + - + @@ -30522,20 +30522,20 @@ - + - + - + @@ -30811,20 +30811,20 @@ - + - + - + @@ -30900,20 +30900,20 @@ - + - + - + @@ -31025,20 +31025,20 @@ - + - + - + @@ -31137,20 +31137,20 @@ - + - + - + @@ -31244,20 +31244,20 @@ - + - + - + @@ -31393,20 +31393,20 @@ - + - + - + @@ -31574,20 +31574,20 @@ - + - + - + @@ -31780,20 +31780,20 @@ - + - + - + @@ -31903,20 +31903,20 @@ - + - + - + @@ -31999,20 +31999,20 @@ - + - + - + @@ -32083,20 +32083,20 @@ - + - + - + @@ -33653,7 +33653,7 @@ - + @@ -33661,19 +33661,19 @@ - + - + - + @@ -33743,7 +33743,7 @@ - + @@ -33751,19 +33751,19 @@ - + - + - + @@ -33833,7 +33833,7 @@ - + @@ -33841,19 +33841,19 @@ - + - + - + @@ -33923,7 +33923,7 @@ - + @@ -33931,19 +33931,19 @@ - + - + - + @@ -33986,20 +33986,20 @@ - + - + - + @@ -34015,20 +34015,20 @@ - + - + - + @@ -34044,20 +34044,20 @@ - + - + - + @@ -34076,20 +34076,20 @@ - + - + - + @@ -34111,20 +34111,20 @@ - + - + - + @@ -34140,20 +34140,20 @@ - + - + - + @@ -34169,20 +34169,20 @@ - + - + - + @@ -34201,20 +34201,20 @@ - + - + - + @@ -34236,20 +34236,20 @@ - + - + - + @@ -34432,7 +34432,7 @@ - + @@ -34440,19 +34440,19 @@ - + - + - + @@ -34522,7 +34522,7 @@ - + @@ -34530,19 +34530,19 @@ - + - + - + @@ -34612,7 +34612,7 @@ - + @@ -34620,19 +34620,19 @@ - + - + - + @@ -34765,20 +34765,20 @@ - + - + - + @@ -35341,20 +35341,20 @@ - + - + - + @@ -35371,20 +35371,20 @@ - + - + - + @@ -35401,20 +35401,20 @@ - + - + - + @@ -35434,20 +35434,20 @@ - + - + - + @@ -35467,20 +35467,20 @@ - + - + - + @@ -35497,20 +35497,20 @@ - + - + - + @@ -35527,20 +35527,20 @@ - + - + - + @@ -35557,20 +35557,20 @@ - + - + - + @@ -36416,20 +36416,20 @@ - + - + - +