help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: exceptions across DSO boundary - unrecognised when caught


From: mitch
Subject: Re: exceptions across DSO boundary - unrecognised when caught
Date: Sun, 15 Nov 2009 15:06:12 -0800 (PST)
User-agent: G2/1.0

Finally got to the bottom of this, so I'll post my mistake here in
case it helps another.

Trouble was that I was specifying RTLD_DEEPBIND to dlopen(), which
"[places] the lookup scope of the symbols in this library ahead of the
global scope" (man dlopen). Hence the output from "LD_DEBUG..." has
the second binding made immediately, as the symbol is found in the
first library searched (Y.so). I've lost track in the mists of time of
why I was using DEEPBIND at all, and given the reason for its original
introduction - "This can be used to work around problems of morons who
cannot keep ABIs stable and have the same symbol name in different
DSOs." (Ulrich Drepper) - I don't see that it's needed here.

Any chance someone here is in a position to add a short note to this
effect to http://gcc.gnu.org/faq.html#dso ? No matter how many times I
read that FAQ, it didn't click...

cheers
ben


reply via email to

[Prev in Thread] Current Thread [Next in Thread]