https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113986
Wilco <wilco at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |wilco at gcc dot gnu.org --- Comment #2 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #1) > I am 99% sure it was caused by r14-6589-g3fa689f6ed8387 . > > It is reproducible with --disable-gnu-indirect-function on the gcc configure > line for a glibc build even without the patch for PR 113971 so confirmed. > > > Moving the definition of DONE for N==16 case to be under the `#if > HAVE_IFUNC` case fixes the issue. I don't know if that is the correct fix or > not ... Confirmed. I never heard about that config - at the time I tried it on an old system with GCC4.8 and that built and passed all tests. I can't see a reason to ever switch off ifuncs... The !HAVE_IFUNC case needs to also define IFUNC_ALT 1 and atomic_16.S must add aliases to __atomic_load_16 etc. Then it works fine. I'll send a patch.