From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8619 invoked by alias); 7 Nov 2011 00:39:34 -0000 Received: (qmail 8605 invoked by uid 22791); 7 Nov 2011 00:39:33 -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 00:39:00 +0000 Received: from localhost (localhost [127.0.0.1]) by ra.se.axis.com (Postfix) with ESMTP id 5544012BA3; Mon, 7 Nov 2011 01:38:55 +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 FtJbwBcAGQSm; Mon, 7 Nov 2011 01:38:53 +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 5528B12BA1; Mon, 7 Nov 2011 01:38:53 +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 4243134084; Mon, 7 Nov 2011 01:38:53 +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 pA70cqF6023532; Mon, 7 Nov 2011 01:38:53 +0100 Received: (from hp@localhost) by ignucius.se.axis.com (8.12.8p1/8.12.8/Debian-2woody1) id pA70cqwC023528; Mon, 7 Nov 2011 01:38:52 +0100 Date: Mon, 07 Nov 2011 00:54:00 -0000 Message-Id: <201111070038.pA70cqwC023528@ignucius.se.axis.com> From: Hans-Peter Nilsson To: amacleod@redhat.com CC: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org In-reply-to: <4EB328D7.9010309@redhat.com> (message from Andrew MacLeod on Fri, 4 Nov 2011 00:50:47 +0100) 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/msg00851.txt.bz2 > From: Andrew MacLeod > Date: Fri, 4 Nov 2011 00:50:47 +0100 > These are the changes to libstdc++ to make use of the new atomics. I > changed the files to use the new atomics, and bkoz did a shuffling of > the include file layout to better suit the new c++ approach. > > previously, libstdc++ provided a locked implementation in atomic_0.h > with the theory that eventually it would be used. The new scheme > involves leaving non-lock-free implementations to an external library. > This involved removing the old lock implementation and restructuring > things now that multiple implementation dont have to be supported. SO > a lot fo this is churn... 2 include files deleted and one merged into > another one.. This (formally a change in the range 181027:181034) got me three libstdc++ regressions for cris-elf, which has no "atomic" support whatsoever (well, not the version represented in "cris-elf"), so something is amiss at the bottom of the default path: Running /tmp/hpautotest-gcc1/gcc/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp ... ... FAIL: 29_atomics/atomic_flag/clear/1.cc (test for excess errors) WARNING: 29_atomics/atomic_flag/clear/1.cc compilation failed to produce executable FAIL: 29_atomics/atomic_flag/test_and_set/explicit.cc (test for excess errors) WARNING: 29_atomics/atomic_flag/test_and_set/explicit.cc compilation failed to produce executable FAIL: 29_atomics/atomic_flag/test_and_set/implicit.cc (test for excess errors) And the linker message is: Executing on host: /tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/g++ -shared-libgcc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc -nostdinc++ -L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/src -L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/src/.libs -nostdinc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/newlib/ -isystem /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/newlib/targ-include -isystem /tmp/hpautotest-gcc1/gcc/newlib/libc/include -B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libgloss/cris -L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libgloss/libnosys -L/tmp/hpautotest-gcc1/gcc/libgloss/cris -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/bin/ -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/lib/ -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/include -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/sys-include -B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libgloss/cris/ -L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libgloss/cris -L/tmp/hpautotest-gcc1/gcc/libgloss/cris -B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libstdc++-v3/src/.libs -g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0 -ffunction-sections -fdata-sections -g -O2 -g -O2 -DLOCALEDIR="." -nostdinc++ -I/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/include/cris-elf -I/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/include -I/tmp/hpautotest-gcc1/gcc/libstdc++-v3/libsupc++ -I/tmp/hpautotest-gcc1/gcc/libstdc++-v3/include/backward -I/tmp/hpautotest-gcc1/gcc/libstdc++-v3/testsuite/util /tmp/hpautotest-gcc1/gcc/libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc -std=gnu++0x ./libtestc++.a -isystem /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./newlib/targ-include -isystem /tmp/hpautotest-gcc1/gcc/newlib/libc/include -B/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libgloss/cris/ -L/tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/./libgloss/cris -L/tmp/hpautotest-gcc1/gcc/libgloss/cris -B/tmp/hpaut otest-gcc1/cris-elf/gccobj/cris-elf/./newlib/ -L/tmp/hpautot! est-gcc1 /cris-elf/gccobj/cris-elf/./newlib -sim3 -lm -o ./explicit.exe (timeout = 600) /tmp/cc21Ui3S.o: In function `ZNSt11atomic_flag12test_and_setESt12memory_order': /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/include/bits/atomic_base.h:264: undefined reference to `__atomic_exchange_1' collect2: error: ld returned 1 exit status compiler exited with status 1 output is: /tmp/cc21Ui3S.o: In function `ZNSt11atomic_flag12test_and_setESt12memory_order': /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/libstdc++-v3/include/bits/atomic_base.h:264: undefined reference to `__atomic_exchange_1' collect2: error: ld returned 1 exit status brgds, H-P