Hi all, This is an updated version of patch for PR 81535. The patch was last discussed in November. The new version addresses Segher's comments in https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00558.html The patch was tested on x86_64-pc-linux-gnu powerpc64-unknown-linux-gnu powerpc64le-unknown-linux-gnu by running $ make check-gcc RUNTESTFLAGS='powerpc.exp=pr79439-*.c dg.exp=pr56727-*.c ' $ make check-c RUNTESTFLAGS='powerpc.exp=pr79439-*.c dg.exp=pr56727-*.c --target_board="unix/-m32"' (I didn't perform full testing as I don't change anything in compiler). FTR here's an excerpt from https://gcc.gnu.org/ml/gcc-patches/2017-11/msg02231.html which explains the reasoning behind PR 56727 (which introduced regression in PR 81535): >> Is it correct that current GCC does not do the call via the PLT? > > Well, it was decided in > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56727 that it would be a > valid optimization because the only way to expose the difference would > be through dlsym hackery. Note that original PowerPC use-case > (reported in https://sourceware.org/bugzilla/show_bug.cgi?id=21116) > would benefit from this optimization as because PLT call + indirection > would be replaced by normal PC-relative call. -Y