From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8395 invoked by alias); 7 Nov 2011 17:32:23 -0000 Received: (qmail 8379 invoked by uid 22791); 7 Nov 2011 17:32:22 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,TW_CX X-Spam-Check-By: sourceware.org Received: from ra.se.axis.com (HELO ra.se.axis.com) (195.60.68.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 07 Nov 2011 17:32:05 +0000 Received: from localhost (localhost [127.0.0.1]) by ra.se.axis.com (Postfix) with ESMTP id B4BCD1265B; Mon, 7 Nov 2011 18:32:04 +0100 (CET) Received: from ra.se.axis.com ([127.0.0.1]) by localhost (ra.se.axis.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id TG8IRSJKwgqQ; Mon, 7 Nov 2011 18:32:04 +0100 (CET) Received: from thoth.se.axis.com (thoth.se.axis.com [10.0.2.173]) by ra.se.axis.com (Postfix) with ESMTP id 6D19C12657; Mon, 7 Nov 2011 18:32:03 +0100 (CET) Received: from ignucius.se.axis.com (ignucius.se.axis.com [10.88.21.50]) by thoth.se.axis.com (Postfix) with ESMTP id 558C534060; Mon, 7 Nov 2011 18:32:03 +0100 (CET) Received: from ignucius.se.axis.com (localhost [127.0.0.1]) by ignucius.se.axis.com (8.12.8p1/8.12.8/Debian-2woody1) with ESMTP id pA7HW3F6017056; Mon, 7 Nov 2011 18:32:03 +0100 Received: (from hp@localhost) by ignucius.se.axis.com (8.12.8p1/8.12.8/Debian-2woody1) id pA7HW2KR017052; Mon, 7 Nov 2011 18:32:02 +0100 Date: Mon, 07 Nov 2011 17:43:00 -0000 Message-Id: <201111071732.pA7HW2KR017052@ignucius.se.axis.com> From: Hans-Peter Nilsson To: joseph@codesourcery.com CC: amacleod@redhat.com, hp@axis.com, hp@axis.com, gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org, bkoz@redhat.com, rth@redhat.com In-reply-to: (joseph@codesourcery.com) Subject: Re: cxx-mem-model merge [6 of 9] - libstdc++-v3 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-11/txt/msg01015.txt.bz2 > From: "Joseph S. Myers" > Date: Mon, 7 Nov 2011 17:24:04 +0100 > On Mon, 7 Nov 2011, Andrew MacLeod wrote: > > > Actually, this target has no lock free support whatsoever? ie, no > > compare_and_swap instruction, nor an implementation of sync_lock_test_and_set > > and sync_lock_release? > > > > I think the libstdc++ standard now requires the class atomic_flag to be lock > > free in order to conform (n3242 29.7.2) > > > > So I guess this is the situation which all the atomic tests are not even > > suppose to be run since they aren't supported. My guess is that in the > > previous releases the c++ header files probably provided a locked > > implementation of test_and_set, and so the tests would run. > > For bare-metal targets there should maybe be an option to presume there is > just one thread and map all atomic operations to dumb non-atomic versions, > which is perfectly valid in such a case. But that's a new feature; we > didn't have it for __sync_* either. It'd not be a new feature, that's apparently how it worked until it broke now ...unless you mean something different. brgds, H-P