From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | ants(dot)aasma(at)eesti(dot)ee, andres(at)anarazel(dot)de, pgsql-hackers(at)postgresql(dot)org, peter_e(at)gmx(dot)net |
Subject: | Re: RTLD_GLOBAL (& JIT inlining) |
Date: | 2019-01-24 06:02:14 |
Message-ID: | 24744.1548309734@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> writes:
> With the attached patch, external modules are loaded RTLD_LOCAL
> by default. PG_MODULE_EXPORT_SYMBOL in a module source files let
> it loaded RTLD_GLOBAL. I suppose this is the change with the
> least impact on existing modules because I believe most of them
> don't need to export symbols.
This seems really hacky :-(
In the PL cases, at least, it's not so much the PL itself that
wants to export symbols as the underlying language library
(libpython, libperl, etc). You're assuming that an action on
the PL .so will propagate to the underlying language .so, which
seems like a pretty shaky assumption. I wonder also whether
closing and reopening the DL handle will really do anything
at all for already-loaded libraries ...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Imai, Yoshikazu | 2019-01-24 06:09:49 | RE: speeding up planning with partitions |
Previous Message | Kyotaro HORIGUCHI | 2019-01-24 05:37:40 | Re: RTLD_GLOBAL (& JIT inlining) |