> > > 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