Re: ABI Compliance Checker GSoC Project - Mailing list pgsql-hackers

From Mankirat Singh
Subject Re: ABI Compliance Checker GSoC Project
Date
Msg-id CAOtk82S99vMnLWcy61JZKzCEH4QL_34oA4_fJg6rJkyk2mmaDw@mail.gmail.com
Whole thread Raw
In response to Re: ABI Compliance Checker GSoC Project  (Mankirat Singh <mankiratsingh1315@gmail.com>)
Responses Re: ABI Compliance Checker GSoC Project
List pgsql-hackers
On Tue, 3 Jun 2025 at 23:50, David E. Wheeler <david@justatheory.com> wrote:
> >> Ummm, are you saying that it complains about changes to unexported
> >> symbols also?
>
> This is a good question.
No, it doesn’t complain about unexported symbols.
But it does complain about some exported symbols that, in my understanding, shouldn’t be flagged.

This led me to a related question (which I had raised earlier too):
I initially assumed that the Postgres binary includes exported symbols that are internal implementation functions - like _bt_pagedel(), as mentioned in here[1] - and symbols like these should ideally be suppressed.
Is that correct?
If so, how do we reliably identify such internal but exported symbols?
There doesn't seem to be a consistent naming convention or regular expression that we can use to suppress many of them at once.

> What’s the error? Maybe we can fix it.
As per my knowledge Postgres internal code lacks visibility annotations on its symbols, which causes compilation errors when fvisibility flag is used. Adding these annotations to the codebase could not be done in a few days only.

Regards,
Mankirat

pgsql-hackers by date:

Previous
From: Xuneng Zhou
Date:
Subject: Request to Expedite Account Activation Cool-Off Period
Next
From: Fujii Masao
Date:
Subject: Re: Speedup truncations of temporary relation forks