https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67025
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Not a bug and here is why: With -fPIC foo is considered as being able to be overridden at runtime so it cannot be inlined into main. Without -fPIC, since foo cannot be changed at runtime and it is called once and it is small, it gets inline.