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.

Reply via email to