Re: RTLD_LAZY considered harmful (Re: pltlc and pltlcu - Mailing list pgsql-hackers

From Zeugswetter Andreas SB SD
Subject Re: RTLD_LAZY considered harmful (Re: pltlc and pltlcu
Date
Msg-id 46C15C39FEB2C44BA555E356FBCD6FA41EB4E6@m0114.s-mxs.net
Whole thread Raw
Responses Re: RTLD_LAZY considered harmful (Re: pltlc and pltlcu  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
> I hate to sound like a broken record, but I want to re-open that
> discussion about RTLD_LAZY binding that trailed off a week or two
> ago.  I have just noticed that the 7.0 and 7.1 versions of
> src/backend/port/dynloader/linux.h have
> 
> #define pg_dlopen(f)    dlopen(f, 2)
> 
> which in 7.2 has been changed to
> 
> #define pg_dlopen(f)    dlopen((f), RTLD_LAZY | RTLD_GLOBAL)

One thing to really watch out for is that old style extensions,
that only need a few functions from a standard library will load
more efficiently with RTLD_LAZY. (might not even pull in dependent 
libs, that are not needed)

Next thing to watch out for is, that RTLD_NOW will probably not load 
a shared lib, that was not linked with a "no entry" flag. Arguably a bug
for a shared lib, but a recent report has shown that pg fails to supply
such a flag on all ports.

I am for keeping RTLD_LAZY :-)

Andreas


pgsql-hackers by date:

Previous
From: Kovacs Zoltan
Date:
Subject: alter table drop column status
Next
From: Martijn van Oosterhout
Date:
Subject: Re: [GENERAL] Feature enhancement request : use of libgda in