This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: LTO bootstrap compare errors for ARM64
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Venkataramanan Kumar <venkataramanan dot kumar at linaro dot org>
- Cc: gcc at gcc dot gnu dot org, Maxim Kuvyrkov <maxim dot kuvyrkov at linaro dot org>, Jan Hubicka <hubicka at ucw dot cz>, Richard Beiner <richard dot guenther at gmail dot com>
- Date: Thu, 7 Aug 2014 15:44:51 +0200
- Subject: Re: LTO bootstrap compare errors for ARM64
- Authentication-results: sourceware.org; auth=none
- References: <CAJK_mQ2sEES1-+Wi5YCZX1PT45VJQtgxar-wbDmW4OWjR3jjdg at mail dot gmail dot com>
>
> As a First step I compared the "objump -D" dump between
> "stage2-gcc/gimple.o" and "stage3-gcc/gimple.o". Differences are in
> LTO sections .gnu.lto_.decls.0, .gnu.lto_.symtab.
> Ref: http://paste.ubuntu.com/7949238/
If you see the differences already in .o files (i.e. at compile time), I think the next
step is to produce -fdump-tree-all -fdump-ipa-all dumps of stage2-gcc/gimple.o
and stage3-gcc/gimple.o and see how they differ.
Debugging misoptimization of LTO stage2 compiler will be interesting - I guess we can
first try to identify what is wrong rahter than usual bisecting method...
Honza
>
> No differences when when using "objdump -d".
>
> Next I passed "-save-temps" to stage2 and stage3 builds and compared
> the assembly files. The differences are in strings dumped via .ascii
> and ,string directives.
>
> Next I checked the flags passed to the stage 2 and stage 3 builds. It
> is same and below is the flag set being passed.
>
> -save-temps -O2 -g -flto -flto=jobserver -frandom-seed=1
> -ffat-lto-objects -DIN_GCC -fno-exceptions -fno-rtti
> -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
> -Wcast-qual -Wmissing-forma t-attribute -pedantic
> -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
>
> Can you please suggest on how to fix/debug further these comparison
> failures in GCC 4.9?
>
> regards,
> Venkat.