From patchwork Mon Sep 6 09:39:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 44906 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 939593861C70 for ; Wed, 8 Sep 2021 14:21:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 939593861C70 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1631110869; bh=ymiCvaTdM+7B1/b7s0QeHE3Ficy4obZZdLvHnwMZBUU=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:From; b=ePpWnEWhAMHiBvpQw2X4csoyc/r8xqsvSMGC3JOfbWwk3kmFqGc8Dh6w1mCQI8h+Q YYbFpxVc4b2eZ6LYn1qGtucO7EpR/DqYn3uDtKkAxG+m+fSMWxNcNb4YFk0YG/Dgsf 5iFSm2MjMrhjn4pOu9+Otdj5d1bikfkg77EYsbIQ= 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 6FA6D385842C for ; Wed, 8 Sep 2021 14:21:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6FA6D385842C Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-438-nw_Q8mUiNM2C8LKLGk6rhA-1; Wed, 08 Sep 2021 10:21:02 -0400 X-MC-Unique: nw_Q8mUiNM2C8LKLGk6rhA-1 Received: by mail-wm1-f69.google.com with SMTP id 5-20020a1c00050000b02902e67111d9f0so992708wma.4 for ; Wed, 08 Sep 2021 07:21:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:organization:date:message-id :user-agent:mime-version; bh=ymiCvaTdM+7B1/b7s0QeHE3Ficy4obZZdLvHnwMZBUU=; b=ozBa2CzoHFTnqQ219Kqjsb6tkKqQZfDiYRKbI2sAZ28bb+flwRfFKfzi59ArMFz+LT VfeVfyjBZiSQUOCNT/lURlyYTcJBqVOCKxDH5YeA0bbSBqA0fJbjmsuio3dXjux/Yd8Y l+O6xvRrvXl+d6MNDVOV7T3ePexFLAa0waYH4GkvO+Q2Fp8p5s9ojgfX33iVog1dN9wv 9Za73cN+864WNcZGxbvjvEM26a7A8CrIYNoGdvYYSbAb8AC4Eh9q4MKUybK9IhCyL2Se FT+5iVDkd7/wtueUloeRHxVaINimjSmvEeprKLEgVCs5A0TVM41UjWXrnhAYwpm0e+Qq h5Zg== X-Gm-Message-State: AOAM530bOzSMepEGrSAOz2sX5kOWr6xTtzR/2CLXEUlq85+HxsJKTykr 7kK79MBTNeOcN6FF/oQgkRFIHx8FezUixc8L9fJZYOjNUmzexM7l+0r0OY3QiBAtFJ/TOxsOVaH IdgJ+hhqR9T+u39Ac4flDactpJ+Lp0HLbI2/2YYAgJ8B+bSl0UOcb+ie5cyiod0KT0Rfr X-Received: by 2002:a5d:634f:: with SMTP id b15mr4294095wrw.220.1631110860457; Wed, 08 Sep 2021 07:21:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyXlBCbaRKqReDdoqGlmU0gD+DfTjP7GY0ar2bTliZvUC29vLG9EtVitTh3MShnFBmf/eqxWg== X-Received: by 2002:a5d:634f:: with SMTP id b15mr4294035wrw.220.1631110859705; Wed, 08 Sep 2021 07:20:59 -0700 (PDT) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id s13sm2245023wmc.47.2021.09.08.07.20.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Sep 2021 07:20:59 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id DA1D0581C88; Mon, 6 Sep 2021 11:39:33 +0200 (CEST) To: libabigail@sourceware.org Subject: [PATCH, applied] Bug 27985 - abidiff: bad array types in report Organization: Red Hat / France X-Operating-System: Fedora 36 X-URL: http://www.redhat.com Date: Mon, 06 Sep 2021 11:39:33 +0200 Message-ID: <87tuiyf3fu.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.1 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_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP 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: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, Reporting the change in array type exhibits a glitch in the type name. As the bug report says: The resulting abidiff output contains: type of 'int numbers[2]' changed: type name changed from 'void[2]' to 'void[3]' array type size changed from 64 to 96 array type subrange 1 changed length from 2 to 3 instead of type of 'int numbers[2]' changed: type name changed from 'int[2]' to 'int[3]' array type size changed from 64 to 96 array type subrange 1 changed length from 2 to 3 The problem comes from array_type_def::get_qualified_name() where we fail to generate a "new" qualified name once the type of the array is canonicalized. Fixed thus. * src/abg-ir.cc (array_type_def::get_qualified_name): Use the cache for temporary qualified names when the type is not yet canonicalized. That way, the cache for (non-temporary) qualified names is used only for canonicalized types. * tests/data/test-abidiff/test-PR27985-report.txt: Reference output for the new test. * tests/data/test-abidiff/test-PR27985-v{0,1}.c: Source code for the new test binary inputs. * tests/data/test-abidiff/test-PR27985-v{0,1}.o: New test binary inputs. * tests/data/test-abidiff/test-PR27985-v{0,1}.o.abi: New test abixml input. * tests/data/Makefile.am: Add the new test materials above to source distribution. * tests/test-abidiff.cc (specs): Add the tests above to the harness. * tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt: Adjust. * tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt: Adjust. Signed-off-by: Dodji Seketeli Applied to master. --- src/abg-ir.cc | 7 +++-- tests/data/Makefile.am | 7 +++++ .../qualifier-typedef-array-report-1.txt | 16 ++++++---- .../data/test-abidiff/test-PR27985-report.txt | 19 ++++++++++++ tests/data/test-abidiff/test-PR27985-v0.c | 11 +++++++ tests/data/test-abidiff/test-PR27985-v0.o | Bin 0 -> 3152 bytes tests/data/test-abidiff/test-PR27985-v0.o.abi | 29 ++++++++++++++++++ tests/data/test-abidiff/test-PR27985-v1.c | 11 +++++++ tests/data/test-abidiff/test-PR27985-v1.o | Bin 0 -> 3152 bytes tests/data/test-abidiff/test-PR27985-v1.o.abi | 29 ++++++++++++++++++ .../nss-3.23.0-1.0.fc23.x86_64-report-0.txt | 2 +- tests/test-abidiff.cc | 6 ++++ 12 files changed, 127 insertions(+), 10 deletions(-) create mode 100644 tests/data/test-abidiff/test-PR27985-report.txt create mode 100644 tests/data/test-abidiff/test-PR27985-v0.c create mode 100644 tests/data/test-abidiff/test-PR27985-v0.o create mode 100644 tests/data/test-abidiff/test-PR27985-v0.o.abi create mode 100644 tests/data/test-abidiff/test-PR27985-v1.c create mode 100644 tests/data/test-abidiff/test-PR27985-v1.o create mode 100644 tests/data/test-abidiff/test-PR27985-v1.o.abi diff --git a/src/abg-ir.cc b/src/abg-ir.cc index 2483c6ce..a12a6955 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -16880,9 +16880,10 @@ array_type_def::get_qualified_name(bool internal) const } else { - set_qualified_name(env->intern(get_type_representation - (*this, /*internal=*/false))); - return decl_base::peek_qualified_name(); + set_temporary_qualified_name(env->intern(get_type_representation + (*this, + /*internal=*/false))); + return decl_base::peek_temporary_qualified_name(); } } } diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index 11c67899..38c919ca 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -91,6 +91,13 @@ test-abidiff/test-crc-0.xml \ test-abidiff/test-crc-1.xml \ test-abidiff/test-crc-2.xml \ test-abidiff/test-crc-report.txt \ +test-abidiff/test-PR27985-report.txt \ +test-abidiff/test-PR27985-v0.c \ +test-abidiff/test-PR27985-v0.o \ +test-abidiff/test-PR27985-v0.o.abi \ +test-abidiff/test-PR27985-v1.c \ +test-abidiff/test-PR27985-v1.o \ +test-abidiff/test-PR27985-v1.o.abi \ \ test-abidiff-exit/test1-voffset-change-report0.txt \ test-abidiff-exit/test1-voffset-change-report1.txt \ diff --git a/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt b/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt index 8105aa7f..e9bf3d46 100644 --- a/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt +++ b/tests/data/test-abidiff-exit/qualifier-typedef-array-report-1.txt @@ -13,12 +13,14 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable array element type 'void*' changed: entity changed from 'void*' to 'void* const' type size hasn't changed + type name changed from 'void*[7]' to 'void* const[7]' type size hasn't changed type of 'A v_a' changed: entity changed from 'typedef A' to compatible type 'void* volatile[7]' array element type 'void*' changed: entity changed from 'void*' to 'void* volatile' type size hasn't changed + type name changed from 'void*[7]' to 'void* volatile[7]' type size hasn't changed type of 'A r_a' changed: entity changed from 'typedef A' to compatible type 'void*[7]' @@ -29,6 +31,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable array element type 'void*' changed: entity changed from 'void*' to 'void* const' type size hasn't changed + type name changed from 'void*[7]' to 'void* const[7]' type size hasn't changed type of 'B v_b' changed: typedef name changed from B to A at qualifier-typedef-array-v1.c:1:1 @@ -37,6 +40,7 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable array element type 'void*' changed: entity changed from 'void*' to 'void* volatile' type size hasn't changed + type name changed from 'void*[7]' to 'void* volatile[7]' type size hasn't changed type of 'B r_b' changed: typedef name changed from B to A at qualifier-typedef-array-v1.c:1:1 @@ -46,36 +50,36 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable entity changed from 'typedef C' to compatible type 'const volatile void* const[7]' array element type 'void* const' changed: 'void* const' changed to 'const volatile void* const' - type name changed from 'void*[7]' to 'volatile void* const[7]' + type name changed from 'void* const[7]' to 'volatile void* const[7]' type size hasn't changed type of 'C r_c' changed: entity changed from 'typedef C' to compatible type 'restrict void* const[7]' array element type 'void* const' changed: 'void* const' changed to 'restrict const void* const' - type name changed from 'void*[7]' to 'restrict void* const[7]' + type name changed from 'void* const[7]' to 'restrict void* const[7]' type size hasn't changed type of 'D v_d' changed: entity changed from 'typedef D' to compatible type 'const volatile void* const[7]' array element type 'void* const' changed: 'void* const' changed to 'const volatile void* const' - type name changed from 'void*[7]' to 'volatile void* const[7]' + type name changed from 'void* const[7]' to 'volatile void* const[7]' type size hasn't changed type of 'D r_d' changed: entity changed from 'typedef D' to compatible type 'restrict void* const[7]' array element type 'void* const' changed: 'void* const' changed to 'restrict const void* const' - type name changed from 'void*[7]' to 'restrict void* const[7]' + type name changed from 'void* const[7]' to 'restrict void* const[7]' type size hasn't changed type of 'E r_e' changed: entity changed from 'typedef E' to compatible type 'restrict const volatile void* const[7]' array element type 'const volatile void* const' changed: 'const volatile void* const' changed to 'restrict const volatile volatile void* const' - type name changed from 'volatile void* const[7]' to 'restrict volatile void* const[7]' + type name changed from 'volatile void* const[7]' to 'restrict const volatile void* const[7]' type size hasn't changed type of 'F r_f' changed: entity changed from 'typedef F' to compatible type 'restrict const volatile void* const[7]' array element type 'const volatile void* const' changed: 'const volatile void* const' changed to 'restrict const volatile volatile void* const' - type name changed from 'volatile void* const[7]' to 'restrict volatile void* const[7]' + type name changed from 'volatile void* const[7]' to 'restrict const volatile void* const[7]' type size hasn't changed diff --git a/tests/data/test-abidiff/test-PR27985-report.txt b/tests/data/test-abidiff/test-PR27985-report.txt new file mode 100644 index 00000000..9e741f91 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-report.txt @@ -0,0 +1,19 @@ +Functions changes summary: 0 Removed, 1 Changed, 0 Added function +Variables changes summary: 0 Removed, 0 Changed, 0 Added variable + +1 function with some indirect sub-type change: + + [C] 'function void foo(node*)' has some indirect sub-type changes: + parameter 1 of type 'node*' has sub-type changes: + in pointed to type 'struct node': + type size hasn't changed + 1 data member change: + type of 'leaf* ptr' changed: + in pointed to type 'struct leaf': + type size changed from 64 to 96 (in bits) + 1 data member change: + type of 'int numbers[2]' changed: + type name changed from 'int[2]' to 'int[3]' + array type size changed from 64 to 96 + array type subrange 1 changed length from 2 to 3 + diff --git a/tests/data/test-abidiff/test-PR27985-v0.c b/tests/data/test-abidiff/test-PR27985-v0.c new file mode 100644 index 00000000..cd0b4860 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v0.c @@ -0,0 +1,11 @@ +struct leaf +{ + int numbers[2]; +}; + +struct node +{ + struct leaf* ptr; +}; + +void foo(struct node *n) { (void) n; } diff --git a/tests/data/test-abidiff/test-PR27985-v0.o b/tests/data/test-abidiff/test-PR27985-v0.o new file mode 100644 index 0000000000000000000000000000000000000000..fda4e9bad590603adbda8f38aae77275a227f84c GIT binary patch literal 3152 zcmbVO&2Jl35P#1bea93ICZ zE_%!fits%^<`Cst8f}>277VY!FNFhV=}b^LGncd-KWr`aE=1-Bz6Zr}Xfu{DVOVIp zF5`MCKwzM9{LAmqb0BsGt;DBYmS|xX&vPxSZ)CPN_!WI?Bg69$U1EUjgQYF=C$o87 zTVGpW<}2yk8R&J9Y1wTZlJ)(36$&Id-_Ij0wZZoDML^Q$nXX^ewJc*9X~L4s12GdP zE|~oJRe~<8Vu9M(JF7UAo{Z%t&O)EhVAt3%3syIT~~}FsU`M*tOl=ZQ~+*^`-yt$-&Bnhu8o+2|r-MZt^a~Fb-0ggYEV0T~0<~~a7E~fS%A%tg+IPV<$8`6J6!SPi?5upm^$NpcD{;|}!Q}KT2 z8?kQisLH(D3HeV*9P@D=@Wjzn*zzo=Bc>@m+Yv;85@aHL z82C-M-xu(Zn2zfU6K-Q+=v&RVrQdNz=D>3Y!t-y-TB3W{_N+ebjr_!iQft7%HKTo_ zNovxF&b##0o4ElvV)4DkR5~YU$3^8|fFQmT56j2%pw5Z)sQwS=#6-=-bB6b|7Ry2N z3wen%l7ROWA$rsBuN=w_{M0!S{~HI8Z$lN0YA)VC6~p9jBv^`=p`qsDch2hnEBP1@ zAN$AqrS{(fOq~-T_NxT1qZ1P~_Yh*U>OYY6-;`XekFT*>e*hTHNqvGD$a#5L;c1-` zs!#eIh|c1FCix#su_xb3{7+8c=jDNunR1dTa5RdY{1_SqH>TLqQ zF8S)Z(E1VoCophMl|PpJDkVy-@_z(;*8Y{`gFxpT_b&%O;uAirHkP_4>;Hxh2>hEE ja8*8@iCIhaF*XIV6sl-c*KZjjv-ow{|NV#=8Y=%^XX)$~ literal 0 HcmV?d00001 diff --git a/tests/data/test-abidiff/test-PR27985-v0.o.abi b/tests/data/test-abidiff/test-PR27985-v0.o.abi new file mode 100644 index 00000000..7fbae4a3 --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v0.o.abi @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/test-abidiff/test-PR27985-v1.c b/tests/data/test-abidiff/test-PR27985-v1.c new file mode 100644 index 00000000..b7e0076e --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v1.c @@ -0,0 +1,11 @@ +struct leaf +{ + int numbers[3]; +}; + +struct node +{ + struct leaf* ptr; +}; + +void foo(struct node *n) { (void) n; } diff --git a/tests/data/test-abidiff/test-PR27985-v1.o b/tests/data/test-abidiff/test-PR27985-v1.o new file mode 100644 index 0000000000000000000000000000000000000000..017bd88302d1829869d1873239c6912c1de1cda2 GIT binary patch literal 3152 zcmbVO&2Jk;6rb_Nv6D?4Cl0h}Kv^S7TZGrK1&y03#mJ&@0993_3WQX`+8)~r_S#yn zBe#eTaX?hP6sZRe95^8L2pmu^9FUMWbEE%2{{U`C9N@k2JnwqsNYIgX-h03Ie)HaZ z+MmAu*3}s2j2dTGSZEQ-SUM5vWvQ0gQ*52xsNQ*8z4P&3_iq0BBfxRSljt?DdltKB zGb4sfvc&fRnnRcy3DjYT_n>Db!+LwOLGH6wh!YWtzKLe%ZW~P4WylSD2Yi9)M=7^0TRo zX>4t7t@5=*`V`c<%#75o3Bl$;rUc{1IX}oCZ9dBmGI>A}&ok4!Vj3yNl1ha&SpZ@( zN?f%0s~ZHJ+rR|n)3-NpC^H_3jh%)vU&5lXUM81UYS_^PCxBAk02zna7eR8)|4uEV zz%_>tlr6dZF}@XB84oLY@iS~;Vj7D){=(-m1H$*O-LNW!9jj2Vi*~^(ZWjyNJH?W9 z{!lcmsuL(ju5iK1b%UWN_FBRdzFP;=@$2oqQR!mt;>%X9#k^iaFmKqc34g#k!fCQj z&udvjZ{W5(7!CJ05Q89hT(Ijb-|lrqzR_!Z;O1LykngxPr{=aCx07$WBQePLeGDGt zuOAk7E|p&S|Aa7CsImP@W!E|nv%c^jrYu)Zo?#2rID9~a&Emhvb3Jy$vX5=K?trZm ze*2K|QJQZqC6f2R`3&IrVUwHtS}OfTtg<|R6#~Za%pS*`V}JfL%L!XJ3x-P?tuPER z*yI9*AZP|#n6k+*PB?}JTcVJO#5t`+>X{tiaQX2LPmcK_#7C=KRwE%Et#U1bN1iJ7 zw1y)O+nKSDl}wI2V0dA$VI1xywY*X&?>oxg)$r@eepkb9D!ZxSZz}t)lDJdRdT5TA zS3asLE`37$a|*|JT!+ib#s>r&;hnL`3Q7`wtZd@x^;pV}HAd@X_TW}GaB3g}e=OUi z1!5F1yWs>5vulF^vwhKV?1rcfTSu5`*g3 z>Jldv0q-k9^rqpD9JW39^f9GFfe)k+c6uz{KOMv92MXK{sZ!Hpah|j4|5iN)#K-#a ze(Ci$0Mo|=i2b3!YiLB89(x47S^0lg`QKMu%#W|Jp1%(mj!AWbD%)9gS>b7&YLuVk zN8p{szpwb8O|iqd694WA{B?C8=^dqEh)43i;*+0bML*EWK|G544iwy%skaI2s^aVG zLhDETpFzPfb^b{4OBAT2&VLB_to_?o4+5QY+`lw@#3y`KZcO!q%Kr!rXz(vla&WF`hS}+$BNGX7YMHFFaQ7m literal 0 HcmV?d00001 diff --git a/tests/data/test-abidiff/test-PR27985-v1.o.abi b/tests/data/test-abidiff/test-PR27985-v1.o.abi new file mode 100644 index 00000000..09d2f44e --- /dev/null +++ b/tests/data/test-abidiff/test-PR27985-v1.o.abi @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt b/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt index b09b0091..66147b88 100644 --- a/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt +++ b/tests/data/test-diff-pkg/nss-3.23.0-1.0.fc23.x86_64-report-0.txt @@ -61,7 +61,7 @@ [C] 'const PRUint16 SSL_ImplementedCiphers[74]' was changed to 'const PRUint16 SSL_ImplementedCiphers[69]' at sslenum.c:51:1: size of symbol changed from 148 to 138 type of variable changed: - type name changed from 'PRUint16[74]' to 'const PRUint16[69]' + type name changed from 'const PRUint16[74]' to 'const PRUint16[69]' array type size changed from 1184 to 1104 array type subrange 1 changed length from 74 to 69 diff --git a/tests/test-abidiff.cc b/tests/test-abidiff.cc index 6ef18654..32858ece 100644 --- a/tests/test-abidiff.cc +++ b/tests/test-abidiff.cc @@ -140,6 +140,12 @@ static InOutSpec specs[] = "data/test-abidiff/empty-report.txt", "output/test-abidiff/empty-report.txt" }, + { + "data/test-abidiff/test-PR27985-v0.o.abi", + "data/test-abidiff/test-PR27985-v1.o.abi", + "data/test-abidiff/test-PR27985-report.txt", + "output/test-abidiff/test-PR27985-report.txt" + }, // This should be the last entry. {0, 0, 0, 0} };