[build] Move unwinder to toplevel libgcc (v2)

Paolo Bonzini bonzini@gnu.org
Thu Aug 11 19:53:00 GMT 2011


On Thu, Aug 11, 2011 at 20:19, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Aug 11, 2011 at 8:23 AM, Rainer Orth
> <ro@cebitec.uni-bielefeld.de> wrote:
>> Paolo Bonzini <bonzini@gnu.org> writes:
>>
>>> On 08/10/2011 06:05 PM, Rainer Orth wrote:
>>>>>> >>  True: it is called once per multilib.
>>>>> >
>>>>> >  Just to doublecheck, are we sure that unwind.h is always the same?
>>>> Yep: it's unwind-generic.h for almost all targets, just a few arm
>>>> targets use config/arm/unwind-arm.h for all multilibs.
>>>
>>> Patch doing rm -f is preapproved then.
>>
>> Here's what I installed, after making libgcc/unwind-generic.h read-only,
>> reconfiguring and rebuilding first without and with the patch and
>> observe the bug gone on i386-pc-solaris2.10.
>>
>>        Rainer
>>
>>
>> 2011-08-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
>>
>>        * Makefile.in (install-unwind_h): Remove destination file first.
>>
>> diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
>> --- a/libgcc/Makefile.in
>> +++ b/libgcc/Makefile.in
>> @@ -994,6 +994,7 @@ gcc-extra-parts:
>>  all: $(extra-parts)
>>
>>  install-unwind_h:
>> +       rm -f $(gcc_objdir)/include/unwind.h
>>        cp unwind.h $(gcc_objdir)/include/unwind.h
>>        chmod a+r $(gcc_objdir)/include/unwind.h
>>
>
> It breaks bootstrap with "make -j12" on a 24 core Linux/x86-64  :
>
> http://gcc.gnu.org/ml/gcc-regression/2011-08/msg00179.html
>
> rm -f ../../.././gcc/include/unwind.h
> cp unwind.h ../../.././gcc/include/unwind.h
> rm -f ../.././gcc/include/unwind.h
> chmod a+r ../../.././gcc/include/unwind.h
> cp unwind.h ../.././gcc/include/unwind.h
> chmod: cannot access `../../.././gcc/include/unwind.h': No such file
> or directory
> make[8]: *** [install-unwind_h] Error 1
> make[8]: *** Waiting for unfinished jobs....
> chmod a+r ../.././gcc/include/unwind.h
>
> We may have a race condition here.

Will take a look tomorrow.

Paolo



More information about the Libstdc++ mailing list