From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Subject: Re: Unify DLSUFFIX on Darwin
Date: Fri, 24 Jun 2022 10:13:51 -0400
Message-ID: <348725.1656080031@sss.pgh.pa.us> (raw)
In-Reply-To: <f64debe0-0045-9a7b-6af8-6122cc6ce18d@enterprisedb.com>
References: <bcc45f78-e3c3-8fb3-7c42-5371b48b5266@enterprisedb.com>
<3336874.1655905520@sss.pgh.pa.us>
<f64debe0-0045-9a7b-6af8-6122cc6ce18d@enterprisedb.com>
Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
> On 22.06.22 15:45, Tom Lane wrote:
>> Doesn't this amount to a fundamental ABI break for extensions?
>> Yesterday they had to ship foo.so, today they have to ship foo.dylib.
> Extensions generally only load the module files using the extension-free
> base name. And if they do specify the extension, they should use the
> provided DLSUFFIX variable and not hardcode it. So I don't see how this
> would be a problem.
Hm. Since we force people to recompile extensions for new major versions
anyway, maybe it'd be all right. I'm sure there is *somebody* out there
who will have to adjust their build scripts, but it does seem like it
shouldn't be much worse than other routine API changes.
[ thinks for a bit... ] Might be worth double-checking that pg_upgrade
doesn't get confused in a cross-version upgrade. A quick grep doesn't
find that it refers to DLSUFFIX anywhere, but it definitely does pay
attention to extensions' shared library names.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tgl@sss.pgh.pa.us, peter.eisentraut@enterprisedb.com
Subject: Re: Unify DLSUFFIX on Darwin
In-Reply-To: <348725.1656080031@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox