https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82956
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- No what happened was there is now a direct call to _ZThn120_N14Gtid_log_event13get_data_sizeEv (and not via PLT) and the _ZThn120_N14Gtid_log_event13get_data_sizeEv gets emitting in the object file as: .section .text._ZN14Gtid_log_event13get_data_sizeEv,"axG",@progbits,_ZN14Gtid_log_event13get_data_sizeEv,comdat .weak _ZThn120_N14Gtid_log_event13get_data_sizeEv .hidden _ZThn120_N14Gtid_log_event13get_data_sizeEv .type _ZThn120_N14Gtid_log_event13get_data_sizeEv, @function _ZThn120_N14Gtid_log_event13get_data_sizeEv: But I am think maybe there is another comdat version of the function which is not marked as hidden that is being chosen; or maybe from a library that the linker decided to not select this into the new shared library.