> >> 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.