This is the mail archive of the
mailing list for the GCC project.
Re: GCC update increased the file size by 4x on PowerPC port
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Felipe Gohring <lipee36 at gmail dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Mon, 7 Jan 2019 11:22:53 -0600
- Subject: Re: GCC update increased the file size by 4x on PowerPC port
- References: <CALeSs2LtzV-X7Jo8y93-uMPscoC9qXRsPneX+Qj3=YVfziWrJg@mail.gmail.com>
On Mon, Jan 07, 2019 at 11:14:12AM -0500, Felipe Gohring wrote:
> 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.
If you care about code size, you want -O1 or -Os, not -O0.
And why are you using -mmfpgpr? That option doesn't do anything for anything
targetting SPE, but for some reason many people use it?
> 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?
Use -Wall -Wextra instead... But your code may be doing many more things
wrong than those warnings can detect. You could try -fno-strict-aliasing