From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25934 invoked by alias); 27 Jun 2013 21:09:20 -0000 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 Received: (qmail 25873 invoked by uid 48); 27 Jun 2013 21:09:14 -0000 From: "roland at gnu dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/57740] C++11 std::thread not usable with static linking Date: Thu, 27 Jun 2013 21:09:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 4.8.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: roland at gnu dot org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-06/txt/msg01713.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57740 --- Comment #5 from roland at gnu dot org --- So my draft fix actually breaks the dynamic case. For the unconditional calls, weak is right in the shared library but strong is right in the static library. But unlike normal libraries, libstdc++ goes out of its way to get compiled only once, using PIC-compiled objects in the static library too. So there is no obvious way for gthr-posix.h to behave differently in the static and shared cases, which is the only correct thing for it to do.