[Bug libgcc/60790] libatomic convenience library selects IFUNC implementation before obtaining cpu info.

fw at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 23 11:13:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60790

--- Comment #11 from Florian Weimer <fw at gcc dot gnu.org> ---
Author: fw
Date: Wed May 23 11:13:05 2018
New Revision: 260603

URL: https://gcc.gnu.org/viewcvs?rev=260603&root=gcc&view=rev
Log:
x86: libatomic: Do not assume ELF constructors run before IFUNC resolvers

        PR libgcc/60790
        x86: Do not assume ELF constructors run before IFUNC resolvers.
        * config/x86/host-config.h (libat_feat1_ecx, libat_feat1_edx):
        Remove declarations.
        (__libat_feat1, __libat_feat1_init): Declare.
        (FEAT1_REGISTER): Define.
        (load_feat1): New function.
        (IFUNC_COND_1): Adjust.
        * config/x86/init.c (libat_feat1_ecx, libat_feat1_edx)
        (init_cpuid): Remove definitions.
        (__libat_feat1): New variable.
        (__libat_feat1_init): New function.

Modified:
    trunk/libatomic/ChangeLog
    trunk/libatomic/config/x86/host-config.h
    trunk/libatomic/config/x86/init.c


More information about the Gcc-bugs mailing list