I have a question about the use of IFUNCs in libatomic.  I was looking at the
arm implementation and in gcc/libatomic/config/linux/arm/host-config.h I see:

        extern bool libat_have_strexbhd HIDDEN;
        # define IFUNC_COND_1   libat_have_strexbhd

I also see that gcc/libatomic/config/linux/arm/init.c has:

        bool libat_have_strexbhd;
        static void __attribute__((constructor))
        init_cpu_revision (void)
        {
        }

What I don't see is any place that libat_have_strexbhd would ever get 
set.  What am I missing here?  init_cpu_revision is going to get called
when libatomic is first loaded since it is a constructor but it doesn't
seem to do anything and it isn't going to set libat_have_strexbhd as far
as I can see.

Steve Ellcey
sell...@cavium.com

Reply via email to