Bug 40250 - make bootstrap fails on IRIX64: ar: libbackend.a: Error reading tree-phinodes.o
Summary: make bootstrap fails on IRIX64: ar: libbackend.a: Error reading tree-phinodes.o
Status: RESOLVED WORKSFORME
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.4.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-26 03:27 UTC by Jay St. Pierre
Modified: 2011-07-19 14:50 UTC (History)
3 users (show)

See Also:
Host: mips-sgi-irix6.5
Target: mips-sgi-irix6.5
Build: mips-sgi-irix6.5
Known to work:
Known to fail:
Last reconfirmed:


Attachments
config.log (6.20 KB, text/plain)
2009-05-26 05:11 UTC, Jay St. Pierre
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jay St. Pierre 2009-05-26 03:27:26 UTC
When I try to build gcc-4.4.0 on the IRIX64 platform, the build fails with:

ar rc libbackend.a insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl-factoring.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o see.o sel-sched-ir.o sel-sched-dump.o sel-sched.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-analyze.o tree-vect-generic.o tree-vect-patterns.o tree-vect-transform.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o mips.o  host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o
ar: libbackend.a: Error reading tree-phinodes.o: File truncated
make[3]: *** [libbackend.a] Error 1
make[3]: Leaving directory `/appl/local_sde_dev/src/gcc/gcc-4.4.0/mips-IRIX64-6.5/gcc-4.4.0-obj/gcc'
make[2]: *** [all-stage3-gcc] Error 2
make[2]: Leaving directory `/appl/local_sde_dev/src/gcc/gcc-4.4.0/mips-IRIX64-6.5/gcc-4.4.0-obj'
make[1]: *** [stage3-bubble] Error 2
make[1]: Leaving directory `/appl/local_sde_dev/src/gcc/gcc-4.4.0/mips-IRIX64-6.5/gcc-4.4.0-obj'
make: *** [bootstrap] Error 2

$ ar --version
GNU ar (GNU Binutils) 2.18
Copyright 2007 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

Repeated attempts kept failing at the same point, although I get no errors when tree-phinodes.o is built.  In most cases, it failed at stage2, but in the last case it failed at stage3.  The stage2 and stage3 versions of tree-phinodes.o is a lot smaller than the stage1 version:

$ find . -name tree-phinodes.o | xargs ls -l
-rw-rw-r-- 1 stpierre sdedev  84400 May 25 15:09 ./gcc/tree-phinodes.o
-rw-rw-r-- 1 stpierre sdedev  84400 May 25 13:12 ./prev-gcc/tree-phinodes.o
-rw-rw-r-- 1 stpierre sdedev 725424 May 25 10:42 ./stage1-gcc/tree-phinodes.o

I'm configuring gcc this way:

../gcc-4.4.0/configure --prefix=/usr/local/sde/gcc-4.4.0 --disable-nls --enable-shared --enable-static --with-ld=/usr/bin/ld --with-gmp=/usr/local/sde --with-mpfr=/usr/local/sde

I'm using gcc-4.3.2 to compile.

-Jay
Comment 1 Jay St. Pierre 2009-05-26 05:11:53 UTC
Created attachment 17915 [details]
config.log
Comment 2 Andrew Pinski 2009-05-29 02:46:52 UTC
>The stage2 and stage3 versions of tree-phinodes.o is
a lot smaller than the stage1 version:

It should be.

What happens if you replace tree-phinodes.o from stage2 into stage3 does that help?
Comment 3 Jay St. Pierre 2009-05-30 03:08:07 UTC
So first I checked to see if the files were actually different:

$ cmp ./gcc/tree-phinodes.o ./prev-gcc/tree-phinodes.o
$ find . -name tree-phinodes.o | xargs md5sum
3d613b2eb79551b12cd458e212a5fdb5  ./gcc/tree-phinodes.o
3d613b2eb79551b12cd458e212a5fdb5  ./prev-gcc/tree-phinodes.o
ba6b7f241d8436e5685a4ecdf4bcafdb  ./stage1-gcc/tree-phinodes.o

Seeing as they are binary equivalents, I didn't think it would make a difference.  I tried restarting the "make bootstrap" without changing anything to make sure I would get the same results as the other day.  Again, the build failed in the same spot.

Then I did the following:

$ mv ./gcc/tree-phinodes.o ./gcc/tree-phinodes.o.bak
$ cp ./prev-gcc/tree-phinodes.o ./gcc/tree-phinodes.o

And did another "make bootstrap", and the build is progressing!

I am completely confused.

-Jay
Comment 4 Rainer Orth 2011-07-19 14:50:14 UTC
I haven't ever seen this.  Might be a case of a full disk.