From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gnu.wildebeest.org (wildebeest.demon.nl [212.238.236.112]) by sourceware.org (Postfix) with ESMTPS id 33EBE3887030 for ; Wed, 8 Apr 2020 14:32:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 33EBE3887030 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=klomp.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mark@klomp.org Received: from tarox.wildebeest.org (tarox.wildebeest.org [172.31.17.39]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id E48B33000850; Wed, 8 Apr 2020 16:32:53 +0200 (CEST) Received: by tarox.wildebeest.org (Postfix, from userid 1000) id 9DC9F413CE32; Wed, 8 Apr 2020 16:32:53 +0200 (CEST) Message-ID: <52c5ab9801899f080f4e7838ded9ea64f78317c9.camel@klomp.org> Subject: Re: Surprising behavior of suppress_type drop = yes From: Mark Wielaard To: Dodji Seketeli Cc: libabigail@sourceware.org Date: Wed, 08 Apr 2020 16:32:53 +0200 In-Reply-To: <86pnckpmc6.fsf@seketeli.org> References: <86pnckpmc6.fsf@seketeli.org> Content-Type: multipart/mixed; boundary="=-7OB+OQ2hL4AbVIqPcJms" X-Mailer: Evolution 3.28.5 (3.28.5-8.el7) Mime-Version: 1.0 X-Spam-Status: No, score=-9.2 required=5.0 tests=BAYES_00, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libabigail mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2020 14:32:56 -0000 --=-7OB+OQ2hL4AbVIqPcJms Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Dodji, On Mon, 2020-04-06 at 19:15 +0200, Dodji Seketeli wrote: > > Note how abidiff treats the function return type and parameters changed > > from void * to Foo * as disappearing. > >=20 > > Is there another way to achieve what I want/need? >=20 > I think there is a non-documented way to do this, yes. It hasn't been > yet documented because nobody expressed the need for it yet. >=20 > Basically you want to do this: >=20 > [suppress_type] > label =3D "Artificial=C2=B7private=C2=B7types=C2=B7suppression=C2=B7spe= cification" Assuming those fancy dots are actually spaces. > source_location_not_in =3D list.h, of.h, public.h, headers.h > drop =3D yes >=20 > The 'label' property there is important and it needs to have that exact > string value. >=20 > Libabigail generates this kind of suppression specifications internally > to handle types that it considers to be private types, namely, types > that are defined in files specified by --headers-dir{1,2}. >=20 > So I guess you can use that undocumented feature for now. It doesn't seem to change anything for my example. I assume it does for you? Can you attach the xml abi file it is supposed to generate? Mine still looks like the attached with missing return types and arguments where there should be pointers to Foo. Maybe my suppression file still isn't correct? I attached both. > > Or can we have a "drop mode" that treats handles to dropped types a > > simple void pointers instead? >=20 > I think what you'd need, really, is a combination of: >=20 > 1/ a new --header-files{1,2} option > 2/ an "opaque =3D yes" attribute in the suppression specification. >=20 > I think either 1/ or 2/ should work, but it'd be nice to have both. >=20 > If you think that suggession holds water, then we should probably > file a > bug to add this new feature. Why not fix the default? I am trying to figure out why the command line option is different from the suppress_type default way of handling drop. And when that default way of working is actually useful? Thanks, Mark --=-7OB+OQ2hL4AbVIqPcJms Content-Disposition: inline; filename="libfoo.abi" Content-Type: text/plain; name="libfoo.abi"; charset="UTF-8" Content-Transfer-Encoding: base64 PGFiaS1jb3JwdXMgYXJjaGl0ZWN0dXJlPSdlbGYtYW1kLXg4Nl82NCc+CiAgPGVsZi1uZWVkZWQ+ CiAgICA8ZGVwZW5kZW5jeSBuYW1lPSdsaWJjLnNvLjYnLz4KICA8L2VsZi1uZWVkZWQ+CiAgPGVs Zi1mdW5jdGlvbi1zeW1ib2xzPgogICAgPGVsZi1zeW1ib2wgbmFtZT0nX2ZpbmknIHR5cGU9J2Z1 bmMtdHlwZScgYmluZGluZz0nZ2xvYmFsLWJpbmRpbmcnIHZpc2liaWxpdHk9J2RlZmF1bHQtdmlz aWJpbGl0eScgaXMtZGVmaW5lZD0neWVzJy8+CiAgICA8ZWxmLXN5bWJvbCBuYW1lPSdfaW5pdCcg dHlwZT0nZnVuYy10eXBlJyBiaW5kaW5nPSdnbG9iYWwtYmluZGluZycgdmlzaWJpbGl0eT0nZGVm YXVsdC12aXNpYmlsaXR5JyBpcy1kZWZpbmVkPSd5ZXMnLz4KICAgIDxlbGYtc3ltYm9sIG5hbWU9 J2NyZWF0ZV9mb28nIHR5cGU9J2Z1bmMtdHlwZScgYmluZGluZz0nZ2xvYmFsLWJpbmRpbmcnIHZp c2liaWxpdHk9J2RlZmF1bHQtdmlzaWJpbGl0eScgaXMtZGVmaW5lZD0neWVzJy8+CiAgICA8ZWxm LXN5bWJvbCBuYW1lPSdkZXN0cm95X2ZvbycgdHlwZT0nZnVuYy10eXBlJyBiaW5kaW5nPSdnbG9i YWwtYmluZGluZycgdmlzaWJpbGl0eT0nZGVmYXVsdC12aXNpYmlsaXR5JyBpcy1kZWZpbmVkPSd5 ZXMnLz4KICAgIDxlbGYtc3ltYm9sIG5hbWU9J2dldF9mb28nIHR5cGU9J2Z1bmMtdHlwZScgYmlu ZGluZz0nZ2xvYmFsLWJpbmRpbmcnIHZpc2liaWxpdHk9J2RlZmF1bHQtdmlzaWJpbGl0eScgaXMt ZGVmaW5lZD0neWVzJy8+CiAgICA8ZWxmLXN5bWJvbCBuYW1lPSdzZXRfZm9vJyB0eXBlPSdmdW5j LXR5cGUnIGJpbmRpbmc9J2dsb2JhbC1iaW5kaW5nJyB2aXNpYmlsaXR5PSdkZWZhdWx0LXZpc2li aWxpdHknIGlzLWRlZmluZWQ9J3llcycvPgogIDwvZWxmLWZ1bmN0aW9uLXN5bWJvbHM+CiAgPGFi aS1pbnN0ciB2ZXJzaW9uPScxLjAnIGFkZHJlc3Mtc2l6ZT0nNjQnIHBhdGg9J2Zvby5jJyBsYW5n dWFnZT0nTEFOR19DOTknPgogICAgPHR5cGUtZGVjbCBuYW1lPSdpbnQnIHNpemUtaW4tYml0cz0n MzInIGlkPSd0eXBlLWlkLTEnLz4KICAgIDx0eXBlLWRlY2wgbmFtZT0ndm9pZCcgaWQ9J3R5cGUt aWQtMicvPgogICAgPGZ1bmN0aW9uLWRlY2wgbmFtZT0nZ2V0X2ZvbycgbWFuZ2xlZC1uYW1lPSdn ZXRfZm9vJyB2aXNpYmlsaXR5PSdkZWZhdWx0JyBiaW5kaW5nPSdnbG9iYWwnIHNpemUtaW4tYml0 cz0nNjQnIGVsZi1zeW1ib2wtaWQ9J2dldF9mb28nPgogICAgICA8cmV0dXJuIHR5cGUtaWQ9J3R5 cGUtaWQtMScvPgogICAgPC9mdW5jdGlvbi1kZWNsPgogICAgPGZ1bmN0aW9uLWRlY2wgbmFtZT0n c2V0X2ZvbycgbWFuZ2xlZC1uYW1lPSdzZXRfZm9vJyB2aXNpYmlsaXR5PSdkZWZhdWx0JyBiaW5k aW5nPSdnbG9iYWwnIHNpemUtaW4tYml0cz0nNjQnIGVsZi1zeW1ib2wtaWQ9J3NldF9mb28nPgog ICAgICA8cGFyYW1ldGVyIHR5cGUtaWQ9J3R5cGUtaWQtMScgbmFtZT0nbnVtJy8+CiAgICAgIDxy ZXR1cm4gdHlwZS1pZD0ndHlwZS1pZC0yJy8+CiAgICA8L2Z1bmN0aW9uLWRlY2w+CiAgICA8ZnVu Y3Rpb24tZGVjbCBuYW1lPSdkZXN0cm95X2ZvbycgbWFuZ2xlZC1uYW1lPSdkZXN0cm95X2Zvbycg dmlzaWJpbGl0eT0nZGVmYXVsdCcgYmluZGluZz0nZ2xvYmFsJyBzaXplLWluLWJpdHM9JzY0JyBl bGYtc3ltYm9sLWlkPSdkZXN0cm95X2Zvbyc+CiAgICAgIDxyZXR1cm4gdHlwZS1pZD0ndHlwZS1p ZC0yJy8+CiAgICA8L2Z1bmN0aW9uLWRlY2w+CiAgICA8ZnVuY3Rpb24tZGVjbCBuYW1lPSdjcmVh dGVfZm9vJyBtYW5nbGVkLW5hbWU9J2NyZWF0ZV9mb28nIHZpc2liaWxpdHk9J2RlZmF1bHQnIGJp bmRpbmc9J2dsb2JhbCcgc2l6ZS1pbi1iaXRzPSc2NCcgZWxmLXN5bWJvbC1pZD0nY3JlYXRlX2Zv byc+CiAgICAgIDxyZXR1cm4gdHlwZS1pZD0ndHlwZS1pZC0yJy8+CiAgICA8L2Z1bmN0aW9uLWRl Y2w+CiAgICA8ZnVuY3Rpb24tZGVjbCBuYW1lPSdmcmVlJyBtYW5nbGVkLW5hbWU9J2ZyZWUnIHZp c2liaWxpdHk9J2RlZmF1bHQnIGJpbmRpbmc9J2dsb2JhbCcgc2l6ZS1pbi1iaXRzPSc2NCc+CiAg ICAgIDxyZXR1cm4gdHlwZS1pZD0ndHlwZS1pZC0yJy8+CiAgICA8L2Z1bmN0aW9uLWRlY2w+CiAg ICA8ZnVuY3Rpb24tZGVjbCBuYW1lPSdtYWxsb2MnIG1hbmdsZWQtbmFtZT0nbWFsbG9jJyB2aXNp YmlsaXR5PSdkZWZhdWx0JyBiaW5kaW5nPSdnbG9iYWwnIHNpemUtaW4tYml0cz0nNjQnPgogICAg ICA8cmV0dXJuIHR5cGUtaWQ9J3R5cGUtaWQtMicvPgogICAgPC9mdW5jdGlvbi1kZWNsPgogIDwv YWJpLWluc3RyPgo8L2FiaS1jb3JwdXM+Cg== --=-7OB+OQ2hL4AbVIqPcJms Content-Disposition: inline; filename="libfoo.supp" Content-Type: text/plain; name="libfoo.supp"; charset="UTF-8" Content-Transfer-Encoding: base64 W3N1cHByZXNzX3R5cGVdCiAgbGFiZWwgPSAiQXJ0aWZpY2lhbCBwcml2YXRlIHR5cGVzIHN1cHBy ZXNzaW9uIHNwZWNpZmljYXRpb24iCiAgc291cmNlX2xvY2F0aW9uX25vdF9pbiA9IGZvby5oCiAg ZHJvcCA9IHllcwo= --=-7OB+OQ2hL4AbVIqPcJms--