From patchwork Fri Sep 28 06:13:07 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Lance Taylor X-Patchwork-Id: 187720 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 9E3EB2C00D5 for ; Fri, 28 Sep 2012 16:13:25 +1000 (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=1349417605; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Received:Received:From:To:Cc:Subject:Date:Message-ID:User-Agent: MIME-Version:Content-Type:Mailing-List:Precedence:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=sehqESaYhfoqm0U+V7wYlOZkYjc=; b=yHAxK9q8BbkIswR 9JflN/0KvSKMTaPULY6xi8ybRsGACTxoQQf8X7C4p7oWTDekGJgzk1x5rzhhRrgD q+JMAa2PZI3Eg99nI0E9e4i63ctYVrLg3+Q4vJvOxDL8pyWmifi5o7Km/k4I2nKq 4fm7n0mJJMCt1PBCShheuYxfx/vE= 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:X-Google-DKIM-Signature:Received:Received:Received:From:To:Cc:Subject:Date:Message-ID:User-Agent:MIME-Version:Content-Type:X-Gm-Message-State:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=F/lACW/TvMJSTGYHyRCT82+lMso+qR1k+2lVFBCAaftcnZbaYscSiep4anNq0t i5n6SBMi4AzXFWwcIzOEN7yzixVcqzu8QJhB7KxDsrIYLRW8N42MO185HrRV0ENg rAR0HfJ31yM9hg4HrtQBbxKVwLI0xNqh6lUPuJxKjVrFs=; Received: (qmail 22543 invoked by alias); 28 Sep 2012 06:13:20 -0000 Received: (qmail 22534 invoked by uid 22791); 28 Sep 2012 06:13:18 -0000 X-SWARE-Spam-Status: No, hits=-5.5 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, KHOP_RCVD_TRUST, RCVD_IN_DNSWL_LOW, RCVD_IN_HOSTKARMA_YE, RP_MATCHES_RCVD, T_TVD_MIME_NO_HEADERS X-Spam-Check-By: sourceware.org Received: from mail-pb0-f47.google.com (HELO mail-pb0-f47.google.com) (209.85.160.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 28 Sep 2012 06:13:12 +0000 Received: by pbbro12 with SMTP id ro12so4899171pbb.20 for ; Thu, 27 Sep 2012 23:13:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:user-agent:mime-version :content-type:x-gm-message-state; bh=bIzEs1Locmz0mtqqnnbxqtIe8RwZBl3xYFky6uNNUng=; b=LEFRZ5T55beSS0fDnIMiQf9ukZxGBsVYELPUp63A3+ekdXf0L2RODWoiRbSxr8BOok 9ktwRlOw8h726hQzFP3x5vTBiIXCGNOaSuCFKizAydz3VylsImGiofi9eQX8QZ+ih7a3 PjvmtN0mIBgneTjFvSl8wvCEijCPaxcb+vIljscWRWgTx4xzaf3WEfSK70SUxm4FDYs5 2H7RbWsw/ifg2aUj/4pEDkNfv8/VsRUopJ0yw+7Y64OWAzisZG42rD130VBoYWS3hYJT 9RPAdp1PV6SJmObW7RGd8kD8/lPFvcUw+vB7Cb/iM0zBdQXpBy7AjkWX8KtBrOzpbRvl wmbg== Received: by 10.68.138.198 with SMTP id qs6mr17713652pbb.151.1348812791539; Thu, 27 Sep 2012 23:13:11 -0700 (PDT) Received: by 10.68.138.198 with SMTP id qs6mr17713633pbb.151.1348812791365; Thu, 27 Sep 2012 23:13:11 -0700 (PDT) Received: from coign.google.com ([172.17.33.142]) by mx.google.com with ESMTPS id vf8sm5075960pbc.27.2012.09.27.23.13.08 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 27 Sep 2012 23:13:10 -0700 (PDT) From: Ian Lance Taylor To: gcc-patches@gcc.gnu.org Cc: gerald@pfeifer.com Subject: Patch committed: Don't use automatic dependencies for libbacktrace Date: Thu, 27 Sep 2012 23:13:07 -0700 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 X-Gm-Message-State: ALoCoQlnoSGQLGWSFaxdP4OEj4ma8rq+ycs8rj0RRY2oLvEPxMLs/1N1ltzkAwDPuU9txVExlQnvXslaB2yFqXpW1Yzxaz1lV19Yr9VRK91MYzu+c2FXjUogEVZKwCSDPvO7qUBP+iqVPQ4crIvwpaHFV8YfYWR9ovPHWToT5wNbchNJ+FAHTARey9nmSRiBQDXvwUmVmhIx 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 The libbacktrace library uses automake, so I just had it use automake's automatic dependency tracking. Unfortunately, that turns out not to work when building with "make bootstrap-lean". As I wrote in the appended patch: # We can't use automake's automatic dependency tracking, because it # breaks when using bootstrap-lean. Automatic dependency tracking # with GCC bootstrap will cause some of the objects to depend on # header files in prev-gcc/include, e.g., stddef.h and stdarg.h. When # using bootstrap-lean, prev-gcc is removed after each stage. When # running "make install", those header files will be gone, causing the # library to be rebuilt at install time. That may not succeed. This patch changes libbacktrace to use manually written dependencies instead. This is too bad, but the dependencies are pretty simple and unlikely to change much. Bootstrapped with "make bootstrap" and "make bootstrap-lean" and ran libbacktrace testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian 2012-09-27 Ian Lance Taylor PR bootstrap/54732 * configure.ac: Add no-dependencies to AM_INIT_AUTOMAKE. * Makefile.am: Add dependencies for all objects. * configure, aclocal.m4, Makefile.in: Rebuild. Index: configure.ac =================================================================== --- configure.ac (revision 191810) +++ configure.ac (working copy) @@ -42,7 +42,16 @@ AC_USE_SYSTEM_EXTENSIONS libtool_VERSION=1:0:0 AC_SUBST(libtool_VERSION) -AM_INIT_AUTOMAKE([1.11.1 foreign no-dist no-define -Wall -Wno-portability]) +# 1.11.1: Require that version of automake. +# foreign: Don't require README, INSTALL, NEWS, etc. +# no-define: Don't define PACKAGE and VERSION. +# no-dependencies: Don't generate automatic dependencies. +# (because it breaks when using bootstrap-lean, since some of the +# headers are gone at "make install" time). +# -Wall: Issue all automake warnings. +# -Wno-portability: Don't warn about constructs supported by GNU make. +# (because GCC requires GNU make anyhow). +AM_INIT_AUTOMAKE([1.11.1 foreign no-dist no-define no-dependencies -Wall -Wno-portability]) AM_MAINTAINER_MODE Index: Makefile.am =================================================================== --- Makefile.am (revision 191810) +++ Makefile.am (working copy) @@ -93,3 +93,33 @@ btest_LDADD = libbacktrace.la check_PROGRAMS += btest endif NATIVE + +# We can't use automake's automatic dependency tracking, because it +# breaks when using bootstrap-lean. Automatic dependency tracking +# with GCC bootstrap will cause some of the objects to depend on +# header files in prev-gcc/include, e.g., stddef.h and stdarg.h. When +# using bootstrap-lean, prev-gcc is removed after each stage. When +# running "make install", those header files will be gone, causing the +# library to be rebuilt at install time. That may not succeed. + +# These manual dependencies do not include dependencies on unwind.h, +# even though that is part of GCC, because where to find it depends on +# whether we are being built as a host library or a target library. + +INCDIR = $(top_srcdir)/../include +alloc.lo: config.h backtrace.h internal.h +backtrace.lo: config.h backtrace.h +btest.lo: (INCDIR)/filenames.h backtrace.h backtrace-supported.h +dwarf.lo: config.h $(INCDIR)/dwarf2.h $(INCDIR)/dwarf2.def \ + $(INCDIR)/filenames.h backtrace.h internal.h +elf.lo: config.h backtrace.h internal.h +fileline.lo: config.h backtrace.h internal.h +mmap.lo: config.h backtrace.h internal.h +mmapio.lo: config.h backtrace.h internal.h +nounwind.lo: config.h internal.h +posix.lo: config.h backtrace.h internal.h +print.lo: config.h backtrace.h internal.h +read.lo: config.h backtrace.h internal.h +simple.lo: config.h backtrace.h internal.h +state.lo: config.h backtrace.h backtrace-supported.h internal.h +unknown.lo: config.h backtrace.h internal.h