https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81193
--- Comment #6 from Alan Modra <amodra at gmail dot com> --- > Alternatively, we would need to do two passes. On the first pass resolve all > of the normal functions and data locations, setting the location of ifunc > functions in the TOC to be an error function. The second pass would resolve > the ifunc functions. If an ifunc function calls another ifunc function that > hasn't been resolved yet, it would go to the error function. Don't hold your breath waiting for this solution. It was proposed first here: https://gcc.gnu.org/ml/gcc-patches/2009-07/msg01307.html