From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14490 invoked by alias); 3 Sep 2012 08:32:12 -0000 Received: (qmail 14479 invoked by uid 22791); 3 Sep 2012 08:32:11 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,KHOP_THREADED X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 03 Sep 2012 08:31:58 +0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/54419] [4.8 Regression] Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand Date: Mon, 03 Sep 2012 08:32:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Keywords: X-Bugzilla-Severity: blocker X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: CC Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2012-09/txt/msg00136.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54419 Jakub Jelinek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #16 from Jakub Jelinek 2012-09-03 08:30:18 UTC --- The usual way in GCC is that gcc/configure* checks are added for assembler features that affects preexisting ISAs, when adding new ISA extensions that aren't enabled by default or that would be enabled by default only by the user forcing it on by default in configure options, assembly feature tests aren't added. The compiler is still usable when not requesting the ISA extensions when using older assembler. So say when AVX or some other ISA extension (RDRAND in this case) is added, -mrdrand will only work if assembler supports it, and it is up to the users to ensure he has recent enough assembler if they want to use it. E.g. gcc/testsuite/ has for that dejagnu checks for tests that enable those extensions and want to be assembled (or even executed). So, I think this is something that should be tested for in libstdc++-v3 configure and enabled in the headers only if _GLIBCXX_HAVE_* macro is defined.