Patchwork [toplev] Avoid libopcode.so build race

login
register
mail settings
Submitter Richard Guenther
Date July 1, 2011, 10:45 a.m.
Message ID <alpine.LNX.2.00.1107011241410.810@zhemvz.fhfr.qr>
Download mbox | patch
Permalink /patch/102893/
State New
Headers show

Comments

Richard Guenther - July 1, 2011, 10:45 a.m.
Building of libopcode.so and gold can go on in parallel currently
and I am running into the issue that libopcode.so is being written
while it is opened by the host assembler (which is directed to
the libopcode build library directory via the toplevel machinery
setting HOST_LIB_PATH) - resulting in the dynamic loader complaining
that libopcode is corrupt.

This can be avoided by making all builds depend on libopcode - which
the following patch does for gold.  That fixes my spurious build
failures (on fast machines).

Ok?  Ian, can you take care of patching src?

Thanks,
Richard.

2011-07-01  Richard Guenther  <rguenther@suse.de>

	* Makefile.def (all-gold): Depend on all-opcodes.
	* Makefile.in: Rebuild.

Patch

Index: Makefile.def
===================================================================
--- Makefile.def	(revision 175749)
+++ Makefile.def	(working copy)
@@ -402,6 +402,7 @@  dependencies = { module=configure-gold;
 dependencies = { module=all-gold; on=all-libiberty; };
 dependencies = { module=all-gold; on=all-intl; };
 dependencies = { module=all-gold; on=all-bfd; };
+dependencies = { module=all-gold; on=all-opcodes; };
 dependencies = { module=all-gold; on=all-build-bison; };
 dependencies = { module=check-gold; on=all-binutils; };
 dependencies = { module=check-gold; on=all-gas; };
Index: Makefile.in
===================================================================
--- Makefile.in	(revision 175749)
+++ Makefile.in	(working copy)
@@ -42822,6 +42822,14 @@  all-stage3-gold: maybe-all-stage3-bfd
 all-stage4-gold: maybe-all-stage4-bfd
 all-stageprofile-gold: maybe-all-stageprofile-bfd
 all-stagefeedback-gold: maybe-all-stagefeedback-bfd
+all-gold: maybe-all-opcodes
+
+all-stage1-gold: maybe-all-stage1-opcodes
+all-stage2-gold: maybe-all-stage2-opcodes
+all-stage3-gold: maybe-all-stage3-opcodes
+all-stage4-gold: maybe-all-stage4-opcodes
+all-stageprofile-gold: maybe-all-stageprofile-opcodes
+all-stagefeedback-gold: maybe-all-stagefeedback-opcodes
 all-gold: maybe-all-build-bison
 
 all-stage1-gold: maybe-all-build-bison