This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Will the dynamic_cast, throw, typeid shared library bug be fixed?


On Thu, 2003-10-30 at 12:46, Rice, Michael A. wrote:
> Specifically, we use dlopen() to load the libraries, but the call to
> dlopen() is in a 3rd party library that we can't modify.

OK.  It sounds like you may have a legitimate complaint.  I am not a C++
expert though, so there isn't much I can do about it.  You could try
submitting a bug into bugzilla.

It isn't clear if we can do much to help though.  If we add a command
line flag to gcc that causes gcc to emit code using a different ABI that
does not have this issue, you then still have the problem that the 3rd
party library needs to be compiled differently.  And if you can get the
3rd party library changed, then it might be easier to add the missing
RTLD_GLOBAL flag.

> To me, it looks like a regression since it doesn't happen in previous GCC
> versions and this particular problem doesn't seem to occur with other
> vendors' compilers (SGI, Sun, MS, etc.)

Perhaps these compilers aren't using the new C++ ABI standard?  This
allows for some link time compatibility between different C++ compilers,
which was never practical before the C++ ABI standard.  It also improves
performance, and has other benefits.  I am pretty sure that Sun and MS
are not using the C++ ABI standard, but I would have thought that SGI
was.  If SGI is using the C++ ABI standard, and does not have this
problem, then perhaps we can solve it the same way that SGI did.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]