From patchwork Tue Dec 11 18:36:48 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Jelinek X-Patchwork-Id: 205288 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 95FBA2C0084 for ; Wed, 12 Dec 2012 05:37:06 +1100 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1355855826; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Received:Received:Date:From:To:Cc:Subject:Message-ID:Reply-To: MIME-Version:Content-Type:Content-Disposition:User-Agent: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=6102YfqCMX+DYgY7z3gf cStNisk=; b=Q8o2+xe0S8U1BGWcgkiVruXX8eNwrNEqOTRS1svQEZ6vbJRXJ7EE c4i3pbqy20xW9CrrJsF4MNr8PjyvW6ksCMsg9P2oSu0kRnrZrDrDv3an44oSthqO AcjtLmuDmLFRWfBR+6VsnX04xILDbd28CzEQ2MNBYvUERinpDTRPp74= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Received:Received:Date:From:To:Cc:Subject:Message-ID:Reply-To:MIME-Version:Content-Type:Content-Disposition:User-Agent:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=DfhZ7CzDszjXiMYYH2ITU6hQQ1UscZBYGGh8TQCXR8tTEMNWJkHrNg9Ghcvibn X1LcYauhHajIBQl9/kMYSfZS7tjcFbwpyU6+5fjK30mUXXu3IkrzRdud8kDGzknh Tws7e5iyYpwhddDdMyU1tHxabioJ7rXjVlPY+6ouuXUKQ=; Received: (qmail 18986 invoked by alias); 11 Dec 2012 18:37:00 -0000 Received: (qmail 18801 invoked by uid 22791); 11 Dec 2012 18:36:58 -0000 X-SWARE-Spam-Status: No, hits=-6.3 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 11 Dec 2012 18:36:53 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id qBBIaqYR024716 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 11 Dec 2012 13:36:53 -0500 Received: from zalov.redhat.com (vpn1-5-246.ams2.redhat.com [10.36.5.246]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id qBBIanGJ032466 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 11 Dec 2012 13:36:52 -0500 Received: from zalov.cz (localhost [127.0.0.1]) by zalov.redhat.com (8.14.5/8.14.5) with ESMTP id qBBIanNu030998; Tue, 11 Dec 2012 19:36:49 +0100 Received: (from jakub@localhost) by zalov.cz (8.14.5/8.14.5/Submit) id qBBIamnD030997; Tue, 11 Dec 2012 19:36:48 +0100 Date: Tue, 11 Dec 2012 19:36:48 +0100 From: Jakub Jelinek To: Ian Lance Taylor , Alexandre Oliva Cc: gcc-patches@gcc.gnu.org Subject: [PATCH] Don't use -frandom-seed=$@ to build libbacktrace unconditionally (PR bootstrap/54926) Message-ID: <20121211183648.GU2315@tucnak.redhat.com> Reply-To: Jakub Jelinek MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi! Richard noticed that bootstrap with very old GCC as system compiler failed (as one of the reasons) because -frandom-seed=dwarf.lo etc. was used to compile the host libbacktrace in stage1. Non-GCC compilers presumably don't support that option either. The following patch fixes it by adding it unconditionally only for target libbacktrace and otherwise testing, if the option is supported. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2012-12-11 Jakub Jelinek PR bootstrap/54926 * Makefile.am (AM_CFLAGS): Remove -frandom-seed=$@. * configure.ac: If --with-target-subdir, add -frandom-seed=$@ to EXTRA_FLAGS unconditionally, otherwise check whether the compiler accepts it. * Makefile.in: Regenerated. * configure: Regenerated. Jakub --- libbacktrace/Makefile.am.jj 2012-12-07 15:13:56.000000000 +0100 +++ libbacktrace/Makefile.am 2012-12-11 12:30:48.498852727 +0100 @@ -34,7 +34,7 @@ ACLOCAL_AMFLAGS = -I .. -I ../config AM_CPPFLAGS = -I $(top_srcdir)/../include -I $(top_srcdir)/../libgcc \ -I ../libgcc -I ../gcc/include -I $(MULTIBUILDTOP)../../gcc/include -AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG) -frandom-seed=$@ +AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG) noinst_LTLIBRARIES = libbacktrace.la --- libbacktrace/configure.ac.jj 2012-11-14 08:13:38.000000000 +0100 +++ libbacktrace/configure.ac 2012-12-11 12:30:29.466962449 +0100 @@ -98,7 +98,7 @@ AC_SUBST(BACKTRACE_FILE) EXTRA_FLAGS= if test -n "${with_target_subdir}"; then - EXTRA_FLAGS=-funwind-tables + EXTRA_FLAGS="-funwind-tables -frandom-seed=\$@" else AC_CACHE_CHECK([for -funwind-tables option], [libbacktrace_cv_c_unwind_tables], @@ -109,9 +109,21 @@ else [libbacktrace_cv_c_unwind_tables=yes], [libbacktrace_cv_c_unwind_tables=no]) CFLAGS="$CFLAGS_hold"]) - if test "$libbacktrace_cv_c_unwind_tables" = "yes"; then - EXTRA_FLAGS=-funwind-tables - fi + if test "$libbacktrace_cv_c_unwind_tables" = "yes"; then + EXTRA_FLAGS=-funwind-tables + fi + AC_CACHE_CHECK([for -frandom-seed=string option], + [libbacktrace_cv_c_random_seed_string], + [CFLAGS_hold="$CFLAGS" + CFLAGS="$CFLAGS -frandom-seed=conftest.lo" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([], [return 0;])], + [libbacktrace_cv_c_random_seed_string=yes], + [libbacktrace_cv_c_random_seed_string=no]) + CFLAGS="$CFLAGS_hold"]) + if test "$libbacktrace_cv_c_random_seed_string" = "yes"; then + EXTRA_FLAGS="$EXTRA_FLAGS -frandom-seed=\$@" + fi fi AC_SUBST(EXTRA_FLAGS) --- libbacktrace/Makefile.in.jj 2012-12-07 15:13:56.000000000 +0100 +++ libbacktrace/Makefile.in 2012-12-11 12:31:05.951752225 +0100 @@ -254,7 +254,7 @@ ACLOCAL_AMFLAGS = -I .. -I ../config AM_CPPFLAGS = -I $(top_srcdir)/../include -I $(top_srcdir)/../libgcc \ -I ../libgcc -I ../gcc/include -I $(MULTIBUILDTOP)../../gcc/include -AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG) -frandom-seed=$@ +AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG) noinst_LTLIBRARIES = libbacktrace.la libbacktrace_la_SOURCES = \ backtrace.h \ --- libbacktrace/configure.jj 2012-11-14 08:13:38.000000000 +0100 +++ libbacktrace/configure 2012-12-11 12:31:19.217675175 +0100 @@ -11491,7 +11491,7 @@ fi EXTRA_FLAGS= if test -n "${with_target_subdir}"; then - EXTRA_FLAGS=-funwind-tables + EXTRA_FLAGS="-funwind-tables -frandom-seed=\$@" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -funwind-tables option" >&5 $as_echo_n "checking for -funwind-tables option... " >&6; } @@ -11521,9 +11521,40 @@ rm -f core conftest.err conftest.$ac_obj fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libbacktrace_cv_c_unwind_tables" >&5 $as_echo "$libbacktrace_cv_c_unwind_tables" >&6; } - if test "$libbacktrace_cv_c_unwind_tables" = "yes"; then - EXTRA_FLAGS=-funwind-tables - fi + if test "$libbacktrace_cv_c_unwind_tables" = "yes"; then + EXTRA_FLAGS=-funwind-tables + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -frandom-seed=string option" >&5 +$as_echo_n "checking for -frandom-seed=string option... " >&6; } +if test "${libbacktrace_cv_c_random_seed_string+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + CFLAGS_hold="$CFLAGS" + CFLAGS="$CFLAGS -frandom-seed=conftest.lo" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + libbacktrace_cv_c_random_seed_string=yes +else + libbacktrace_cv_c_random_seed_string=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$CFLAGS_hold" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libbacktrace_cv_c_random_seed_string" >&5 +$as_echo "$libbacktrace_cv_c_random_seed_string" >&6; } + if test "$libbacktrace_cv_c_random_seed_string" = "yes"; then + EXTRA_FLAGS="$EXTRA_FLAGS -frandom-seed=\$@" + fi fi