This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: import move-if-change from gnulib (was: PATCH: PR binutils/12283: bfd/doc doesn't support parallel build)
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: Ralf Wildenhues <Ralf dot Wildenhues at gmx dot de>
- Cc: gcc-patches at gcc dot gnu dot org, Gerald Pfeifer <gerald at pfeifer dot com>, binutils at sourceware dot org, "H.J. Lu" <hjl dot tools at gmail dot com>
- Date: Fri, 28 Jan 2011 13:12:40 -0800
- Subject: Re: PATCH: import move-if-change from gnulib (was: PATCH: PR binutils/12283: bfd/doc doesn't support parallel build)
- References: <AANLkTikAd7jWXN+2bi-OeR_-cQq7ivpSyVz+4165trVS@mail.gmail.com> <201101272357.p0RNvPZ13996@lucas.cup.hp.com> <20110128201452.GM7234@gmx.de>
- Reply-to: sje at cup dot hp dot com
On Fri, 2011-01-28 at 21:14 +0100, Ralf Wildenhues wrote:
>
> I have meanwhile added an improved and fixed version of my proposed
> patch to the (more complete) gnulib copy of move-if-change. See here:
> http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/24860/focus=24865
>
> I hereby propose to just import the gnulib copy into GCC and src,
> http://git.savannah.gnu.org/cgit/gnulib.git/tree/build-aux/move-if-change
> and document the change in status as below in patches to src/MAINTAINERS
> and GCC www. (The Autoconf copy of move-if-change has been updated from
> the gnulib one anyway.)
>
> Any reasons against doing so?
>
> Thanks,
> Ralf
I have no objection to this change and I think it will fix things on
most platforms but I have found one platform where I still have a
problem. On hppa*-*-hpux*, compiling the same program twice in a row
does not result in the exact same executable. So even with this change
the cmp will fail and the build will still abort like it does now.
During a GCC bootstrap build we work around these issues by using:
cmp --ignore-initial=16
to compare stage2 and stage3 bits. And we also have to do the GCC
compilation with -frandom-seed=fixed-seed to avoid other differences in
object files.
But for some reason doing both of these still didn't get this to work
for me on the hppa platform. I was still getting failures in the cmp
check, even with the --ignore-initial flag and the use of -frandom-seed
when compiling chew.
I wonder if it would be reasonable to add a configure flag to bfd that
would enforce the chew dependency (--enable-parallel-doc or something
like that). It would be off by default but if specified then we would
enforce the chew dependency and parallel builds would just work
normally.