From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2600 invoked by alias); 8 May 2005 12:38:48 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 2511 invoked by uid 48); 8 May 2005 12:38:39 -0000 Date: Sun, 08 May 2005 12:38:00 -0000 Message-ID: <20050508123839.2510.qmail@sourceware.org> From: "mike at navi dot cx" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050505214934.21405.mike@navi.cx> References: <20050505214934.21405.mike@navi.cx> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/21405] Template inlines have global visibility X-Bugzilla-Reason: CC X-SW-Source: 2005-05/txt/msg01032.txt.bz2 List-Id: ------- Additional Comments From mike at navi dot cx 2005-05-08 12:38 ------- http://gcc.gnu.org/onlinedocs/libstdc++/abi.html See the "testing multi-abi binaries" section at the bottom: A "C" application, dynamically linked to two shared libraries, liba, libb. The dependent library liba is C++ shared library compiled with gcc-3.3.x, and uses io, exceptions, locale, etc. The dependent library libb is a C++ shared library compiled with gcc-3.4.x, and also uses io, exceptions, locale, etc. [ ... snip ... ] This resulting binary, when executed, will be able to safely use code from both liba, and the dependent libstdc++.so.6, and libb, with the dependent libstdc++.so.5. A C++ program linked indirectly (via a C library) against another C++ library is exactly the same scenario. This is the whole point of symbol versioning. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21405