https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88311
Iain Sandoe <iains at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amodra at gcc dot gnu.org Summary|mlongcall indirections are |[9 Regression] mlongcall |optimised away |indirections are optimised | |away (for binutils versions | |that don't support | |AS_PLTSEQ) --- Comment #5 from Iain Sandoe <iains at gcc dot gnu.org> --- So the reason that Segher and I were seeing different results is that I was using the default BINUTILS on the platform (2.27) and Segher was using 2.31. The salient difference appears to be this (from auto-host.h): 2.27 .... 2.31 /* #undef HAVE_AS_PLTSEQ */ | #define HAVE_AS_PLTSEQ 1 As a second point - I checked r266557 and that produces correct code with: GNU assembler version 2.27 (ppc64-redhat-linux) using BFD version version 2.27-28.base.el7_5.1 It's possible that the patch sequence 266599-266610 could have caused this.