http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19520
--- Comment #30 from Thiago Macieira <thiago at kde dot org> 2012-01-19 18:52:57 UTC --- This does solve the problem. It's just unfortunate that it does so by creating more work for the library even if no executable ever takes the address of this protected function. It would have been preferable to somehow tell the compiler when compiling an executable that this function it's taking the address of is protected elsewhere, so it should use the GOT too.