On Wed, Apr 9, 2025 at 1:10 PM Andres Freund <andres@anarazel.de> wrote:
> I think eventually we ought to change the default visibility in the main binary to hidden, just like we do for
extensions.Then the windows/everything else behavior difference vanishes and we actually get the benefit of being more
restrictiveon common platforms. I think we still ought to default to exporting symbols in such a world, just not
alwaysdo so. We probably should just require all externs are either marked "server only" or "visible to extensions",
neverjust a plain extern.
The issue we're going to run into is that a lot of extension authors
like to call things that the core developers probably think they
shouldn't. If we lock it down, we'll either be breaking a bunch of
extensions that are doing sneaky things that somebody has managed to
make work ... or we're going to be committing to an API that we don't
really want to support.
To be clear, I'm not saying you're wrong, just that it's going to be
hard to change anything without making somebody unhappy.
--
Robert Haas
EDB: http://www.enterprisedb.com