From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
Cc: | Peter Geoghegan <pg(at)bowt(dot)ie>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: abi-compliance-checker |
Date: | 2023-06-10 20:24:24 |
Message-ID: | 20230610202424.lgrfdrc5wqa3zs5o@awork3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2023-06-10 12:48:46 -0700, Andres Freund wrote:
> > + <typedef-decl name='pg_enc' type-id='ea65169a' id='66325df6'/>
> > + <enum-decl name='pg_enc' id='ea65169a'>
> > + <underlying-type type-id='9cac1fee'/>
>
> Hm - why is all of this stuff even ending up in the external ABI? It should
> all be internal, unless I am missing something?
>
> I might be looking the wrong way, but to me it sure looks like none of that
> ends up being externally visible?
Looks like we ought to add --exported-interfaces-only?
That still seems to include things that shouldn't be there, but much
less. E.g.:
<class-decl name='AddrInfo' size-in-bits='1152' is-struct='yes' naming-typedef-id='79c324ab' visibility='default' id='0b3a01e2'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='family' type-id='95e97e5e' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='64'>
<var-decl name='addr' type-id='8c37a12f' visibility='default'/>
</data-member>
</class-decl>
and things outside of our control:
<class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' id='ec1ed955'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='_flags' type-id='95e97e5e' visibility='default'/>
</data-member>
I guess the latter would have to be suppressed via suppression file. But I
don't understand why things like AddrInfo ends up being included...
I tried using --header-file with --drop-private-types. But that ends up
dropping all enum definitions for some reason.
Independently, I'm a bit confused as to why we export pgresStatus in
exports.txt - I don't see any reason for that. Looks like it might be leftover
from before fa0f24165c0?
We're also a bit schizophrenic about where we install pqexpbuffer.h -
includedir_internal. But at the same time we export all the symbols?
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Tomas Vondra | 2023-06-10 20:26:39 | Re: Do we want a hashset type? |
Previous Message | Tomas Vondra | 2023-06-10 20:12:36 | Re: Do we want a hashset type? |