> 
> 
> On 01/03/15 16:47, Christophe Lyon wrote:
> >On 27 February 2015 at 21:49, Jan Hubicka <hubi...@ucw.cz> wrote:
> >>>
> >>>../sysdeps/gnu/siglist.c:72:1: internal compiler error: in 
> >>>address_matters_p, at symtab.c:1908
> >>>  versioned_symbol (libc, __new_sys_sigabbrev, sys_sigabbrev, GLIBC_2_3_3);
> >>>  ^
> >>>0x66a080 symtab_node::address_matters_p()
> >>>         /scratch/sellcey/repos/bootstrap/src/gcc/gcc/symtab.c:1908
> >>>0xe7cbe5 ipa_icf::sem_variable::merge(ipa_icf::sem_item*)
> >>>         /scratch/sellcey/repos/bootstrap/src/gcc/gcc/ipa-icf.c:1443
> >>
> >>Indeed, the ipa-icf should not try to analyze aliases - just prove 
> >>ekvialence of
> >>definitions they are attached to.  It already does that for functions (bit 
> >>by accident;
> >>it gives up when there is no gimple body), but it does not do that for 
> >>variables because
> >>it gets into ctor_for_folding. For that reason it sometimes decides to try 
> >>to make two
> >>variable aliases alias of each other that is not a good idea, because of 
> >>possible creation
> >>of loops.
> >>
> >>I am just discussing with Martin the fix.
> >>
> >>Honza
> >
> >For the record, I have noticed similar errors on ARM and AArch64
> >targets, when building glibc.
> >
> >Christophe.
> >
> 
> I confirm ARM and AArch64 failing to build with this patch:
> chmod a-w 
> /work/build-aarch64-none-linux-gnu/obj/glibc/stdio-common/errlist-compat.cT
> 0x6b9100 symtab_node::address_matters_p()
>       /work/src/gcc/gcc/symtab.c:1908
> 0xedb4e5 ipa_icf::sem_variable::merge(ipa_icf::sem_item*)
>       /work/src/gcc/gcc/ipa-icf.c:1723
> 0xee03f9 ipa_icf::sem_item_optimizer::merge_classes(unsigned int)
>       /work/src/gcc/gcc/ipa-icf.c:2955
> 0xee6d31 ipa_icf::sem_item_optimizer::execute()
>       /work/src/gcc/gcc/ipa-icf.c:2217
> 0xee8df1 ipa_icf_driver
>       /work/src/gcc/gcc/ipa-icf.c:3034
> 0xee8df1 ipa_icf::pass_ipa_icf::execute(function*)
>       /work/src/gcc/gcc/ipa-icf.c:3081

I commited patch for the alias merging yesterda night, so it should be fixed
now.  If it still fails, please fill in a PR with preprocessed testcase so I
can reproduce it in a cross.

Honza
> Please submit a full bug report,
> with preprocessed source if appropriate.
> Please include the complete backtrace with any bug report.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> make[2]: ***
> [/work/build-aarch64-none-linux-gnu/obj/glibc/stdio-common/siglist.o]
> Error 1
> make[2]: *** Waiting for unfinished jobs....
> mv -f 
> /work/build-aarch64-none-linux-gnu/obj/glibc/stdio-common/errlist-compat.cT 
> /work/build-aarch64-none-linux-gnu/obj/glibc/stdio-common/errlist-compat.c
> 
> Regards,
> Alex

Reply via email to