From: | Dag-Erling Smørgrav <des(at)des(dot)no> |
---|---|
To: | Greg Stark <gsstark(at)mit(dot)edu> |
Cc: | David Fetter <david(at)fetter(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Magnus Hagander <magnus(at)hagander(dot)net>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [patch] build issues on Win32 |
Date: | 2010-03-11 13:54:36 |
Message-ID: | 864oknm09v.fsf@ds4.des.no |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Greg Stark <gsstark(at)mit(dot)edu> writes:
> I would be sad about this. It seems likely there are platforms where
> it's important. But I'm not really about to spend the effort to fix it
> up myself and I agree it wouldn't be worth hacking the source to get
> it to work. I'm a bit puzzled why the symbol conflicts occur only with
> static linking though -- it seems like static linking would give more
> opportunity to isolate symbols than dynamic linking, not less. Perhaps
> our static linking rules are broken?
A dynamic library is a single entity with a certain degree of isolation.
You can hide symbols so they are only visible within that library.
A static library is basically just a tarball of individual relocatable
objects.
The GNU toolchain (and probably others too) allows you to combine
several relocatable objects together into one and hide some of the
symbols, as if the entire thing had been a single C file with some of
the functions declared as static. However, when you do that, you lose
an important advantage of static libraries: the ability to link only
what you need.
DES
--
Dag-Erling Smørgrav - des(at)des(dot)no
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Stark | 2010-03-11 14:22:42 | Re: operator exclusion constraints |
Previous Message | Greg Stark | 2010-03-11 12:44:54 | Re: [patch] build issues on Win32 |