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@xxxxxxxxxxxxxxxx> School of Aerospace Science and Technology, Xidian University