From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23106 invoked by alias); 10 Feb 2014 01:41:57 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 23094 invoked by uid 89); 10 Feb 2014 01:41:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-yk0-f176.google.com Received: from mail-yk0-f176.google.com (HELO mail-yk0-f176.google.com) (209.85.160.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 10 Feb 2014 01:41:38 +0000 Received: by mail-yk0-f176.google.com with SMTP id 19so5471935ykq.7 for ; Sun, 09 Feb 2014 17:41:36 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.236.87.1 with SMTP id x1mr13948483yhe.51.1391996496288; Sun, 09 Feb 2014 17:41:36 -0800 (PST) Received: by 10.170.189.212 with HTTP; Sun, 9 Feb 2014 17:41:36 -0800 (PST) In-Reply-To: References: <201402041033.s14AX8Ai013211@glazunov.sibelius.xs4all.nl> <201402081141.s18Bf6U4019336@glazunov.sibelius.xs4all.nl> Date: Mon, 10 Feb 2014 01:41:00 -0000 Message-ID: Subject: Re: [PATCH] Makefile fix From: Doug Evans To: Mark Kettenis Cc: "gdb-patches@sourceware.org" Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2014-02/txt/msg00265.txt.bz2 On Sun, Feb 9, 2014 at 4:58 PM, Doug Evans wrote: > On Sat, Feb 8, 2014 at 3:41 AM, Mark Kettenis wrote: >>> Date: Fri, 7 Feb 2014 21:00:35 -0800 >>> From: Doug Evans >>> >>> On Tue, Feb 4, 2014 at 2:33 AM, Mark Kettenis wrote: >>> > The diff below fixes an issue that has been bothering me for quite a >>> > while. When using OpenBSD make, almost everything in gdb/ gets >>> > rebuilt. The problem is the use of the all-lib phony target, which is >>> > always considered to be out-of-date, and used as a prerequisite of >>> > libgnu.a and the gnulib string.h, which are therefore also considered >>> > to be out-of-date. I have no idea why this problem doesn't show up >>> > with GNU make. But the GNU make manual clearly states that phony >>> > targets should not be prerequisites of real target files: >>> > >>> > >>> > >>> > It seems to me that the phony target can be easily avoided; see the >>> > diff below. But perhaps I'm missing something? >>> > >>> > >>> > >>> > diff --git a/gdb/Makefile.in b/gdb/Makefile.in >>> > index ed84e35..937478b 100644 >>> > --- a/gdb/Makefile.in >>> > +++ b/gdb/Makefile.in >>> > @@ -1263,10 +1263,8 @@ gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) >>> > $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) >>> > >>> > # Convenience rule to handle recursion. >>> > -$(LIBGNU) $(GNULIB_H): all-lib >>> > -all-lib: $(GNULIB_BUILDDIR)/Makefile >>> > +$(LIBGNU) $(GNULIB_H): $(GNULIB_BUILDDIR)/Makefile >>> > @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do >>> > -.PHONY: all-lib >>> > >>> > # Convenience rule to handle recursion. >>> > .PHONY: all-data-directory >>> >>> I found the patch where this went in but I couldn't find anything interesting. >>> "all-lib" is there, I'm guessing, just as a convenience for typing, >>> but I'm not sure how often it's used so if it's getting in the way I'm >>> ok with this change. >>> I can't think of any problems with the patch. >>> [And we could still keep all-lib as a convenience rule, but I'm ok >>> with deleting it for now.] >> >> Thanks. Here's what I committed: >> >> From 0a6bd22df74bb5b6ffa30c3b10243a34d9055c32 Mon Sep 17 00:00:00 2001 >> From: Mark Kettenis >> Date: Sat, 8 Feb 2014 12:36:17 +0100 >> Subject: [PATCH] A phony target should not be a prerequisite of a real target >> file >> >> gdb/ChangeLog: >> >> * Makefile.in (all-lib): Remove. >> ($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target. >> --- >> gdb/ChangeLog | 5 +++++ >> gdb/Makefile.in | 4 +--- >> 2 files changed, 6 insertions(+), 3 deletions(-) >> >> diff --git a/gdb/ChangeLog b/gdb/ChangeLog >> index c2c9236..bb64a23 100644 >> --- a/gdb/ChangeLog >> +++ b/gdb/ChangeLog >> @@ -1,3 +1,8 @@ >> +2014-02-08 Mark Kettenis >> + >> + * Makefile.in (all-lib): Remove. >> + ($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target. >> + >> 2014-02-07 Doug Evans >> >> * extension-priv.h (extension_language_script_ops): Add comment. >> diff --git a/gdb/Makefile.in b/gdb/Makefile.in >> index e714550..0976615 100644 >> --- a/gdb/Makefile.in >> +++ b/gdb/Makefile.in >> @@ -1265,10 +1265,8 @@ gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) >> $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) >> >> # Convenience rule to handle recursion. >> -$(LIBGNU) $(GNULIB_H): all-lib >> -all-lib: $(GNULIB_BUILDDIR)/Makefile >> +$(LIBGNU) $(GNULIB_H): $(GNULIB_BUILDDIR)/Makefile >> @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do >> -.PHONY: all-lib >> >> # Convenience rule to handle recursion. >> .PHONY: all-data-directory >> -- >> 1.8.5.3 >> > > I'm getting gnulib related build failures on linux, I'm guessing it's > this change. > Sorry 'bout that. > I think it's that a parallel make is now entering build-gnulib twice. > So we need to serialize it, without using a phony target. I reverted the patch to get linux builds going. Again., sorry 'bout that. I'll work on a different fix on Monday, unless you want to take it.