From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11259 invoked by alias); 28 Jan 2010 08:03:20 -0000 Received: (qmail 7750 invoked by uid 48); 28 Jan 2010 08:03:05 -0000 Date: Thu, 28 Jan 2010 08:03:00 -0000 Message-ID: <20100128080305.7748.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libstdc++/42679] RTLD_DEEPBIND dlopen option for shared library that uses libstdc++ std::ostream crashes In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jakub at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-01/txt/msg03185.txt.bz2 ------- Comment #6 from jakub at gcc dot gnu dot org 2010-01-28 08:03 ------- If libstdc++ relies on ODR, then RTLD_DEEPBIND can break its assumptions, as then the same symbol which is defined in multiple shared libraries can resolve to different addresses (RTLD_DEEPBIND means first the dlopened library and its dependencies, and only after it the global search scope, will be searched). STB_GNU_UNIQUE object ought to cure it, though it is only in 4.5 (and 4.4-RH) gcc and sufficiently new binutils and glibc are needed for it too. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42679