From: Andreas Schwab Date: Mon, 5 Dec 2016 11:06:46 +0000 (+0100) Subject: Get rid of __elision_available X-Git-Tag: glibc-2.25~228 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=657c084cd6f69d6cc880c2ae65129a0723d053c5;p=thirdparty%2Fglibc.git Get rid of __elision_available --- diff --git a/ChangeLog b/ChangeLog index 88e63208414..ccfd0aee9b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2016-12-07 Andreas Schwab + + * sysdeps/unix/sysv/linux/x86/elision-conf.h + (__elision_available): Don't declare. + * sysdeps/unix/sysv/linux/x86/elision-conf.c + (__elision_available): Don't define. + (elision_init): Don't set __elision_available. + 2016-12-07 Joseph Myers [BZ #20940] diff --git a/sysdeps/unix/sysv/linux/x86/elision-conf.c b/sysdeps/unix/sysv/linux/x86/elision-conf.c index 0d981338047..c8e77a64ee0 100644 --- a/sysdeps/unix/sysv/linux/x86/elision-conf.c +++ b/sysdeps/unix/sysv/linux/x86/elision-conf.c @@ -43,11 +43,6 @@ struct elision_config __elision_aconf = .skip_trylock_internal_abort = 3, }; -/* Set when the CPU supports elision. When false elision is never attempted. - */ - -int __elision_available attribute_hidden; - /* Force elision for all new locks. This is used to decide whether existing DEFAULT locks should be automatically upgraded to elision in pthread_mutex_lock(). Disabled for suid programs. Only used when elision @@ -62,11 +57,11 @@ elision_init (int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)), char **environ) { - __elision_available = HAS_CPU_FEATURE (RTM); + int elision_available = HAS_CPU_FEATURE (RTM); #ifdef ENABLE_LOCK_ELISION - __pthread_force_elision = __libc_enable_secure ? 0 : __elision_available; + __pthread_force_elision = __libc_enable_secure ? 0 : elision_available; #endif - if (!HAS_CPU_FEATURE (RTM)) + if (!elision_available) __elision_aconf.retry_try_xbegin = 0; /* Disable elision on rwlocks */ } diff --git a/sysdeps/unix/sysv/linux/x86/elision-conf.h b/sysdeps/unix/sysv/linux/x86/elision-conf.h index 6c479b31e79..39bf5d9dd70 100644 --- a/sysdeps/unix/sysv/linux/x86/elision-conf.h +++ b/sysdeps/unix/sysv/linux/x86/elision-conf.h @@ -33,7 +33,6 @@ struct elision_config extern struct elision_config __elision_aconf attribute_hidden; -extern int __elision_available attribute_hidden; extern int __pthread_force_elision attribute_hidden; /* Tell the test suite to test elision for this architecture. */