https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108208
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|NEW |RESOLVED --- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> --- Yes, agreed. Marking this bug as invalid. If you need a bigger code model you should use -mcmodel=large, or keep code size under control some other way (using -O3 is a very bad idea in general; it means "don't do tradeoffs, be overly optimistic always". -O2 is perhaps a bit too conservative, but -O3 definitely is too far out on the other side of the spectrum. Luckily there are many smaller tweak flags, and many params you can fiddle with). This is not a new problem at all. The default code model we use is quite conservative, but it is not very hard to overflow its limits. You usually get much better (smaller as well as faster) generated code by writing better source code, dividing it up into translation units a bit smarter.