GCC update increased the file size by 4x on PowerPC port

Xi Ruoyao xry111@mengyan1223.wang
Mon Jan 7 16:56:00 GMT 2019


On 2019-01-07 11:14 -0500, Felipe Gohring wrote:
> Hello,
> recently, I have updated my GCC PowerPC port from 6.3 to 8.2
> As my architecture relies on SPE extension, I am using the SPE brench of
> GCC (powerpc-eabispe-*).
> 
> Now, my question is related to the generated code. When using V6.3, I had
> files of about 10k. After upgrading to V8.2, the very same file has more
> than 40k. Why is that? Please keep in mind that I am using exactly the same
> compilation flags (*-m32 -mmfpgpr -mabi=spe -mfloat-gprs=double -nostdlib
> -ffreestanding -fno-builtin -O0 -g3 -std=c11 -Wno-packed-bitfield-compat
> -Wall -Werror*) and source code, the only thing changing is the compiler
> version. I wouldn't mind having a memory footprint a bit bigger, but the
> overhead added is beyond acceptable.

Is there any difference w/o -g3?  A increased size of debugging symbols
is not a bug and may provide better debug information for GDB.  If the
object code itself bloats there may be a regression.

> Further, besides the crazy sizes, some applications are breaking when using
> the updated compiler version, even though I am not having any warning
> neither error (*-Wall -Werror)*. How come, as the ABI should not be broken
> even with a different compiler version?

It's likely these applications are invoking undefined behavior.  There
may be a compiler bug though unlikely.  Anyway you can do a bisect to see
which commit "broke" your code.
-- 
Xi Ruoyao <xry111@mengyan1223.wang>
School of Aerospace Science and Technology, Xidian University



More information about the Gcc-help mailing list