Re: Cleaning up multiply-defined-symbol warnings on OS X

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: Cleaning up multiply-defined-symbol warnings on OS X
Date: 2006-04-29 19:27:03
Message-ID: 20060429192702.GD31752@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

On Sat, Apr 29, 2006 at 03:07:30PM -0400, Tom Lane wrote:
> Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> > Now that 95% of this patch [1] (currently in the hold queue) has been
> > implemented, perhaps we should go the final 5% and version the symbols
> > to fix the ambiguous symbol problem forever (on linux at least, though
> > anywhere with the GCC toolchain will work).
>
> I was thinking about that, but came away unconvinced it's worth doing
> considering we are not a Linux-only system. Is there any advantage
> in having symbol versioning on Linux when we'll still have the same
> API-change constraints everywhere else?

What it does is remove the restriction that any one program can only
use (directly or indirectly) one version of libpq at any moment.
Programs can use indirectly postgres via PAM or NSS or other such
pluggable interfaces. Currently PAM and NSS must be using the same
version of libpq as any program that might call them or everything
blows up.

Versioning is basically (amongst other things) a way of ensuring that a
program runs against the same version of the library it was compiled
against. Just renaming a library won't confuse it for example.

It's more a preventative measure than anything else. As postgres gets
integrated into more things the chance of symbols getting mislinked
increases.

> I had actually forgotten about your earlier patch :-(

I figured as much :)

Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2006-04-29 19:34:28 Re: [BUGS] BUG #2401: spinlocks not available on amd64
Previous Message Tom Lane 2006-04-29 19:26:27 Re: Patch for BUG #2073: Can't drop sequence when created