This is the mail archive of the mailing list for the libstdc++ 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]


Hi all.

I'm wondering whether it is possible to simultaneously have (GCC 3.0.1) and (GCC 3.2.2) in one process, on Linux. Sorry if this has already been discussed or is simply ridiculous...

The scenario (the suite) is as follows: There is a process composed of C++ shared objects built with GCC 3.2.2 (depending on This process can dynamically load in additional components. Some of the components would be built with GCC 3.0.1, so they would also bring into the process. Those components are loaded RTLD_GLOBAL, so any symbols needed by those components that are available in both versions of libstdc++ would be taken from (which comes earlier in the search tree). I noticed that none of the symbols exported by either version of libstdc++ are versioned. The functionality the process and the additional components actually use from libstdc++ is mostly the __cxa and namespace __cxxabiv1 symbols; the namespace std stuff should be mostly ignored, as all C++ code is built against the STLport (using

A small test suggests that mixing and in one process works (even passing exceptions), but I don't feel too well with such experimentation only.

Can anybody tell me whether my test working properly is either by sheer luck or by design?


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