* Binutils is broken with -j N
@ 2005-05-21 21:27 H. J. Lu
2005-05-21 22:24 ` H. J. Lu
0 siblings, 1 reply; 8+ messages in thread
From: H. J. Lu @ 2005-05-21 21:27 UTC (permalink / raw)
To: binutils; +Cc: zack
This patch
http://sourceware.org/ml/binutils/2005-05/msg00582.html
doesn't support -j N. I got
make[3]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
Making info in po
make[4]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld/po'
make[4]: Nothing to be done for `info'.
make[4]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld/po'
make[4]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
ln -s /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
|| ln /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
|| cp /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi
rm -f ldver.texi
eval `grep '^ *VERSION=' /export/linux/src/binutils/binutils/ld/../bfd/configure`; \
echo "@set VERSION $VERSION" > ldver.texi
restore=: && backupdir=".am$$" && \
am__cwd=`pwd` && cd /export/linux/src/binutils/binutils/ld && \
rm -rf $backupdir && mkdir $backupdir && \
for f in /export/linux/src/binutils/binutils/ld/ld.info /export/linux/src/binutils/binutils/ld/ld.info-[0-9] /export/linux/src/binutils/binutils/ld/ld.info-[0-9][0-9] /export/linux/src/binutils/binutils/ld/ld.i[0-9] /export/linux/src/binutils/binutils/ld/ld.i[0-9][0-9]; do \
if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
done; \
cd "$am__cwd"; \
if makeinfo --split-size=5000000 -I /export/linux/src/binutils/binutils/ld -I /export/linux/src/binutils/binutils/ld/../bfd/doc -I /export/linux/src/binutils/binutils/ld \
-o /export/linux/src/binutils/binutils/ld/ld.info /export/linux/src/binutils/binutils/ld/ld.texinfo; \
then \
rc=0; \
cd /export/linux/src/binutils/binutils/ld; \
else \
rc=$?; \
cd /export/linux/src/binutils/binutils/ld && \
$restore $backupdir/* `echo ".//export/linux/src/binutils/binutils/ld/ld.info" | sed 's|[^/]*$||'`; \
fi; \
rm -rf $backupdir; exit $rc
make[4]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
ln -s /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
|| ln /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
|| cp /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi
cp: `/export/linux/src/binutils/binutils/ld/gen-doc.texi' and `./configdoc.texi' are the same file
make[3]: *** [configdoc.texi] Error 1
make[3]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
make[2]: *** [all-ld] Error 2
make[2]: *** Waiting for unfinished jobs....
H.J.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Binutils is broken with -j N
2005-05-21 21:27 Binutils is broken with -j N H. J. Lu
@ 2005-05-21 22:24 ` H. J. Lu
2005-05-22 1:47 ` H. J. Lu
0 siblings, 1 reply; 8+ messages in thread
From: H. J. Lu @ 2005-05-21 22:24 UTC (permalink / raw)
To: binutils; +Cc: zack
On Sat, May 21, 2005 at 02:09:12PM -0700, H. J. Lu wrote:
> This patch
>
> http://sourceware.org/ml/binutils/2005-05/msg00582.html
>
> doesn't support -j N. I got
>
> make[3]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> Making info in po
> make[4]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld/po'
> make[4]: Nothing to be done for `info'.
> make[4]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld/po'
> make[4]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> ln -s /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> || ln /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> || cp /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi
> rm -f ldver.texi
> eval `grep '^ *VERSION=' /export/linux/src/binutils/binutils/ld/../bfd/configure`; \
> echo "@set VERSION $VERSION" > ldver.texi
> restore=: && backupdir=".am$$" && \
> am__cwd=`pwd` && cd /export/linux/src/binutils/binutils/ld && \
> rm -rf $backupdir && mkdir $backupdir && \
> for f in /export/linux/src/binutils/binutils/ld/ld.info /export/linux/src/binutils/binutils/ld/ld.info-[0-9] /export/linux/src/binutils/binutils/ld/ld.info-[0-9][0-9] /export/linux/src/binutils/binutils/ld/ld.i[0-9] /export/linux/src/binutils/binutils/ld/ld.i[0-9][0-9]; do \
> if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
> done; \
> cd "$am__cwd"; \
> if makeinfo --split-size=5000000 -I /export/linux/src/binutils/binutils/ld -I /export/linux/src/binutils/binutils/ld/../bfd/doc -I /export/linux/src/binutils/binutils/ld \
> -o /export/linux/src/binutils/binutils/ld/ld.info /export/linux/src/binutils/binutils/ld/ld.texinfo; \
> then \
> rc=0; \
> cd /export/linux/src/binutils/binutils/ld; \
> else \
> rc=$?; \
> cd /export/linux/src/binutils/binutils/ld && \
> $restore $backupdir/* `echo ".//export/linux/src/binutils/binutils/ld/ld.info" | sed 's|[^/]*$||'`; \
> fi; \
> rm -rf $backupdir; exit $rc
> make[4]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> ln -s /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> || ln /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> || cp /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi
> cp: `/export/linux/src/binutils/binutils/ld/gen-doc.texi' and `./configdoc.texi' are the same file
> make[3]: *** [configdoc.texi] Error 1
> make[3]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> make[2]: *** [all-ld] Error 2
> make[2]: *** Waiting for unfinished jobs....
>
>
The problem is "info" isn't a direct target. Make may start "info" and
"ld.1" at the same time. I will check in this patch to fix it.
H.J.
---
2005-05-21 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (ld.1): Depend on "info".
* Makefile.in: Regenerated.
--- ld/Makefile.am.j 2005-05-20 06:17:29.000000000 -0700
+++ ld/Makefile.am 2005-05-21 14:18:24.000000000 -0700
@@ -1699,6 +1699,8 @@ EXTRA_DIST = ldgram.c ldgram.h ldlex.c $
diststuff: info $(EXTRA_DIST)
all: info ld.1
+ld.1: info
+
DISTCLEANFILES = tdirs site.exp site.bak stringify.sed
distclean-local:
rm -rf ldscripts
--- ld/Makefile.in.j 2005-05-20 06:17:29.000000000 -0700
+++ ld/Makefile.in 2005-05-21 14:19:19.000000000 -0700
@@ -2476,6 +2478,8 @@ install-data-local:
install-data-local: install-info
diststuff: info $(EXTRA_DIST)
all: info ld.1
+
+ld.1: info
distclean-local:
rm -rf ldscripts
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Binutils is broken with -j N
2005-05-21 22:24 ` H. J. Lu
@ 2005-05-22 1:47 ` H. J. Lu
2005-05-24 7:48 ` Richard Henderson
0 siblings, 1 reply; 8+ messages in thread
From: H. J. Lu @ 2005-05-22 1:47 UTC (permalink / raw)
To: binutils; +Cc: zack
On Sat, May 21, 2005 at 02:27:41PM -0700, H. J. Lu wrote:
> On Sat, May 21, 2005 at 02:09:12PM -0700, H. J. Lu wrote:
> > This patch
> >
> > http://sourceware.org/ml/binutils/2005-05/msg00582.html
> >
> > doesn't support -j N. I got
> >
> > make[3]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> > Making info in po
> > make[4]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld/po'
> > make[4]: Nothing to be done for `info'.
> > make[4]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld/po'
> > make[4]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> > ln -s /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> > || ln /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> > || cp /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi
> > rm -f ldver.texi
> > eval `grep '^ *VERSION=' /export/linux/src/binutils/binutils/ld/../bfd/configure`; \
> > echo "@set VERSION $VERSION" > ldver.texi
> > restore=: && backupdir=".am$$" && \
> > am__cwd=`pwd` && cd /export/linux/src/binutils/binutils/ld && \
> > rm -rf $backupdir && mkdir $backupdir && \
> > for f in /export/linux/src/binutils/binutils/ld/ld.info /export/linux/src/binutils/binutils/ld/ld.info-[0-9] /export/linux/src/binutils/binutils/ld/ld.info-[0-9][0-9] /export/linux/src/binutils/binutils/ld/ld.i[0-9] /export/linux/src/binutils/binutils/ld/ld.i[0-9][0-9]; do \
> > if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
> > done; \
> > cd "$am__cwd"; \
> > if makeinfo --split-size=5000000 -I /export/linux/src/binutils/binutils/ld -I /export/linux/src/binutils/binutils/ld/../bfd/doc -I /export/linux/src/binutils/binutils/ld \
> > -o /export/linux/src/binutils/binutils/ld/ld.info /export/linux/src/binutils/binutils/ld/ld.texinfo; \
> > then \
> > rc=0; \
> > cd /export/linux/src/binutils/binutils/ld; \
> > else \
> > rc=$?; \
> > cd /export/linux/src/binutils/binutils/ld && \
> > $restore $backupdir/* `echo ".//export/linux/src/binutils/binutils/ld/ld.info" | sed 's|[^/]*$||'`; \
> > fi; \
> > rm -rf $backupdir; exit $rc
> > make[4]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> > ln -s /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> > || ln /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> > || cp /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi
> > cp: `/export/linux/src/binutils/binutils/ld/gen-doc.texi' and `./configdoc.texi' are the same file
> > make[3]: *** [configdoc.texi] Error 1
> > make[3]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> > make[2]: *** [all-ld] Error 2
> > make[2]: *** Waiting for unfinished jobs....
> >
> >
>
> The problem is "info" isn't a direct target. Make may start "info" and
> "ld.1" at the same time. I will check in this patch to fix it.
>
>
> H.J.
> ---
> 2005-05-21 H.J. Lu <hongjiu.lu@intel.com>
>
> * Makefile.am (ld.1): Depend on "info".
> * Makefile.in: Regenerated.
>
This is the real patch I checked in.
H.J.
----
Index: Makefile.am
===================================================================
RCS file: /cvs/src/src/ld/Makefile.am,v
retrieving revision 1.177
retrieving revision 1.179
diff -u -p -r1.177 -r1.179
--- Makefile.am 19 May 2005 23:49:51 -0000 1.177
+++ Makefile.am 21 May 2005 22:22:19 -0000 1.179
@@ -1644,7 +1644,9 @@ ld.dvi: $(srcdir)/ld.texinfo configdoc.t
# Build the man page from the texinfo file
# The sed command removes the no-adjust Nroff command so that
# the man output looks standard.
-ld.1: $(srcdir)/ld.texinfo configdoc.texi ldver.texi
+# It depends on "info" instead of "configdoc.texi ldver.texi" to
+# support parallel build.
+ld.1: $(srcdir)/ld.texinfo info
touch $@
-$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texinfo > ld.pod
-($(POD2MAN) ld.pod | \
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Binutils is broken with -j N
2005-05-22 1:47 ` H. J. Lu
@ 2005-05-24 7:48 ` Richard Henderson
2005-05-25 5:50 ` H. J. Lu
0 siblings, 1 reply; 8+ messages in thread
From: Richard Henderson @ 2005-05-24 7:48 UTC (permalink / raw)
To: H. J. Lu; +Cc: binutils, zack
On Sat, May 21, 2005 at 03:24:03PM -0700, H. J. Lu wrote:
> +# It depends on "info" instead of "configdoc.texi ldver.texi" to
> +# support parallel build.
This commentary is not helpful at all. Say *what specifically*
goes wrong if we don't have it.
r~
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Binutils is broken with -j N
2005-05-24 7:48 ` Richard Henderson
@ 2005-05-25 5:50 ` H. J. Lu
2005-05-25 7:34 ` Richard Henderson
0 siblings, 1 reply; 8+ messages in thread
From: H. J. Lu @ 2005-05-25 5:50 UTC (permalink / raw)
To: Richard Henderson; +Cc: binutils, zack
On Mon, May 23, 2005 at 07:03:19PM -0700, Richard Henderson wrote:
> On Sat, May 21, 2005 at 03:24:03PM -0700, H. J. Lu wrote:
> > +# It depends on "info" instead of "configdoc.texi ldver.texi" to
> > +# support parallel build.
>
> This commentary is not helpful at all. Say *what specifically*
> goes wrong if we don't have it.
The current one has:
# Both info (ld.info) and ld.1 depend on configdoc.texi and ldver.texi.
# But info isn't a direct target. Make info-recursive to depend on
# ld.1 to support parallel build.
info-recursive: ld.1
H.J.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Binutils is broken with -j N
2005-05-25 5:50 ` H. J. Lu
@ 2005-05-25 7:34 ` Richard Henderson
2005-05-25 15:43 ` H. J. Lu
0 siblings, 1 reply; 8+ messages in thread
From: Richard Henderson @ 2005-05-25 7:34 UTC (permalink / raw)
To: H. J. Lu; +Cc: binutils, zack
On Tue, May 24, 2005 at 10:46:34PM -0700, H. J. Lu wrote:
> # But info isn't a direct target.
That still isn't informative. What's important about that fact?
If you can't explain this, then I have no confidence that you
actually know what the problem is, and have fixed it, rather than
simply producing some patch that happens to remove the symptoms
by accident. I should not have to pry this information from you.
r~
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Binutils is broken with -j N
2005-05-25 7:34 ` Richard Henderson
@ 2005-05-25 15:43 ` H. J. Lu
2005-05-26 20:15 ` Maciej W. Rozycki
0 siblings, 1 reply; 8+ messages in thread
From: H. J. Lu @ 2005-05-25 15:43 UTC (permalink / raw)
To: Richard Henderson; +Cc: binutils, zack
On Tue, May 24, 2005 at 10:50:47PM -0700, Richard Henderson wrote:
> On Tue, May 24, 2005 at 10:46:34PM -0700, H. J. Lu wrote:
> > # But info isn't a direct target.
>
> That still isn't informative. What's important about that fact?
>
> If you can't explain this, then I have no confidence that you
> actually know what the problem is, and have fixed it, rather than
> simply producing some patch that happens to remove the symptoms
> by accident. I should not have to pry this information from you.
>
>
I changed:
all: info ld.1
ld.1: x
info: info-recursive
info-recursive:
$(MAKE) info-am
info-am: x
to:
all: info ld.1
ld.1: x
info-recursive: ld.1
info: info-recursive
info-recursive:
$(MAKE) info-am
info-am: x
H.J.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Binutils is broken with -j N
2005-05-25 15:43 ` H. J. Lu
@ 2005-05-26 20:15 ` Maciej W. Rozycki
0 siblings, 0 replies; 8+ messages in thread
From: Maciej W. Rozycki @ 2005-05-26 20:15 UTC (permalink / raw)
To: H. J. Lu; +Cc: Richard Henderson, binutils, zack
On Wed, 25 May 2005, H. J. Lu wrote:
> I changed:
>
> all: info ld.1
>
> ld.1: x
>
> info: info-recursive
>
> info-recursive:
> $(MAKE) info-am
>
> info-am: x
>
> to:
>
> all: info ld.1
>
> ld.1: x
>
> info-recursive: ld.1
>
> info: info-recursive
>
> info-recursive:
> $(MAKE) info-am
>
> info-am: x
This is all fiddling with internal undocumented (i.e. possibly
version-specific) automake logic. Which means it's quite fragile and has
traditionally made updating to newer versions of autotools rather painful.
E.g. you are not expected to override *-recursive targets. Can't it
actually be done using documented techniques?
Maciej
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-05-26 19:16 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-21 21:27 Binutils is broken with -j N H. J. Lu
2005-05-21 22:24 ` H. J. Lu
2005-05-22 1:47 ` H. J. Lu
2005-05-24 7:48 ` Richard Henderson
2005-05-25 5:50 ` H. J. Lu
2005-05-25 7:34 ` Richard Henderson
2005-05-25 15:43 ` H. J. Lu
2005-05-26 20:15 ` Maciej W. Rozycki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).