forked from pool/glibc
Accepting request 377337 from home:Andreas_Schwab:Factory
- powerpc-elision-enable-envvar.patch: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined (bsc#967594, fate#318236) OBS-URL: https://build.opensuse.org/request/show/377337 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=430
This commit is contained in:
parent
13c9b7363d
commit
db39c1fdd1
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 21 11:57:49 UTC 2016 - schwab@suse.de
|
||||||
|
|
||||||
|
- powerpc-elision-enable-envvar.patch: enable TLE only if
|
||||||
|
GLIBC_ELISION_ENABLE=yes is defined (bsc#967594, fate#318236)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 15 10:44:46 UTC 2016 - schwab@suse.de
|
Tue Mar 15 10:44:46 UTC 2016 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -210,6 +210,8 @@ Patch15: glibc-2.3.90-langpackdir.diff
|
|||||||
Patch18: glibc-cpusetsize.diff
|
Patch18: glibc-cpusetsize.diff
|
||||||
# PATCH-FEATURE-SLE Use nscd user for nscd
|
# PATCH-FEATURE-SLE Use nscd user for nscd
|
||||||
Patch19: nscd-server-user.patch
|
Patch19: nscd-server-user.patch
|
||||||
|
# PATCH-FEATURE-SLE powerpc: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
|
||||||
|
Patch21: powerpc-elision-enable-envvar.patch
|
||||||
|
|
||||||
### Locale related patches
|
### Locale related patches
|
||||||
# PATCH-FIX-OPENSUSE Add additional locales
|
# PATCH-FIX-OPENSUSE Add additional locales
|
||||||
@ -238,6 +240,10 @@ Patch306: glibc-fix-double-loopback.diff
|
|||||||
###
|
###
|
||||||
# Patches from upstream
|
# Patches from upstream
|
||||||
###
|
###
|
||||||
|
# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
|
||||||
|
Patch1000: resolv-mem-leak.patch
|
||||||
|
# PATCH-FIX-UPSTREAM Don't use long double functions if NO_LONG_DOUBLE
|
||||||
|
Patch1001: no-long-double.patch
|
||||||
|
|
||||||
###
|
###
|
||||||
# Patches awaiting upstream approval
|
# Patches awaiting upstream approval
|
||||||
@ -256,12 +262,8 @@ Patch2004: fnmatch-collating-elements.patch
|
|||||||
Patch2005: nss-files-long-lines-2.patch
|
Patch2005: nss-files-long-lines-2.patch
|
||||||
# PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830)
|
# PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830)
|
||||||
Patch2006: iconv-reset-input-buffer.patch
|
Patch2006: iconv-reset-input-buffer.patch
|
||||||
# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
|
|
||||||
Patch2007: resolv-mem-leak.patch
|
|
||||||
# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282)
|
# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282)
|
||||||
Patch2008: reinitialize-dl_load_write_lock.patch
|
Patch2008: reinitialize-dl_load_write_lock.patch
|
||||||
# PATCH-FIX-UPSTREAM Don't use long double functions if NO_LONG_DOUBLE
|
|
||||||
Patch2009: no-long-double.patch
|
|
||||||
|
|
||||||
# Non-glibc patches
|
# Non-glibc patches
|
||||||
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
||||||
@ -451,6 +453,7 @@ rm nscd/s-stamp
|
|||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch19 -p1
|
%patch19 -p1
|
||||||
|
%patch21 -p1
|
||||||
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
@ -463,6 +466,9 @@ rm nscd/s-stamp
|
|||||||
%patch304 -p1
|
%patch304 -p1
|
||||||
%patch306 -p1
|
%patch306 -p1
|
||||||
|
|
||||||
|
%patch1000 -p1
|
||||||
|
%patch1001 -p1
|
||||||
|
|
||||||
%patch2000 -p1
|
%patch2000 -p1
|
||||||
%patch2001 -p1
|
%patch2001 -p1
|
||||||
%patch2002 -p1
|
%patch2002 -p1
|
||||||
@ -470,9 +476,7 @@ rm nscd/s-stamp
|
|||||||
%patch2004 -p1
|
%patch2004 -p1
|
||||||
%patch2005 -p1
|
%patch2005 -p1
|
||||||
%patch2006 -p1
|
%patch2006 -p1
|
||||||
%patch2007 -p1
|
|
||||||
%patch2008 -p1
|
%patch2008 -p1
|
||||||
%patch2009 -p1
|
|
||||||
|
|
||||||
%patch3000
|
%patch3000
|
||||||
|
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 21 11:57:49 UTC 2016 - schwab@suse.de
|
||||||
|
|
||||||
|
- powerpc-elision-enable-envvar.patch: enable TLE only if
|
||||||
|
GLIBC_ELISION_ENABLE=yes is defined (bsc#967594, fate#318236)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 15 10:44:46 UTC 2016 - schwab@suse.de
|
Tue Mar 15 10:44:46 UTC 2016 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -209,6 +209,8 @@ Patch15: glibc-2.3.90-langpackdir.diff
|
|||||||
Patch18: glibc-cpusetsize.diff
|
Patch18: glibc-cpusetsize.diff
|
||||||
# PATCH-FEATURE-SLE Use nscd user for nscd
|
# PATCH-FEATURE-SLE Use nscd user for nscd
|
||||||
Patch19: nscd-server-user.patch
|
Patch19: nscd-server-user.patch
|
||||||
|
# PATCH-FEATURE-SLE powerpc: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
|
||||||
|
Patch21: powerpc-elision-enable-envvar.patch
|
||||||
|
|
||||||
### Locale related patches
|
### Locale related patches
|
||||||
# PATCH-FIX-OPENSUSE Add additional locales
|
# PATCH-FIX-OPENSUSE Add additional locales
|
||||||
@ -237,6 +239,10 @@ Patch306: glibc-fix-double-loopback.diff
|
|||||||
###
|
###
|
||||||
# Patches from upstream
|
# Patches from upstream
|
||||||
###
|
###
|
||||||
|
# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
|
||||||
|
Patch1000: resolv-mem-leak.patch
|
||||||
|
# PATCH-FIX-UPSTREAM Don't use long double functions if NO_LONG_DOUBLE
|
||||||
|
Patch1001: no-long-double.patch
|
||||||
|
|
||||||
###
|
###
|
||||||
# Patches awaiting upstream approval
|
# Patches awaiting upstream approval
|
||||||
@ -255,12 +261,8 @@ Patch2004: fnmatch-collating-elements.patch
|
|||||||
Patch2005: nss-files-long-lines-2.patch
|
Patch2005: nss-files-long-lines-2.patch
|
||||||
# PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830)
|
# PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830)
|
||||||
Patch2006: iconv-reset-input-buffer.patch
|
Patch2006: iconv-reset-input-buffer.patch
|
||||||
# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
|
|
||||||
Patch2007: resolv-mem-leak.patch
|
|
||||||
# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282)
|
# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282)
|
||||||
Patch2008: reinitialize-dl_load_write_lock.patch
|
Patch2008: reinitialize-dl_load_write_lock.patch
|
||||||
# PATCH-FIX-UPSTREAM Don't use long double functions if NO_LONG_DOUBLE
|
|
||||||
Patch2009: no-long-double.patch
|
|
||||||
|
|
||||||
# Non-glibc patches
|
# Non-glibc patches
|
||||||
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
||||||
@ -451,6 +453,7 @@ rm nscd/s-stamp
|
|||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch19 -p1
|
%patch19 -p1
|
||||||
|
%patch21 -p1
|
||||||
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
@ -463,6 +466,9 @@ rm nscd/s-stamp
|
|||||||
%patch304 -p1
|
%patch304 -p1
|
||||||
%patch306 -p1
|
%patch306 -p1
|
||||||
|
|
||||||
|
%patch1000 -p1
|
||||||
|
%patch1001 -p1
|
||||||
|
|
||||||
%patch2000 -p1
|
%patch2000 -p1
|
||||||
%patch2001 -p1
|
%patch2001 -p1
|
||||||
%patch2002 -p1
|
%patch2002 -p1
|
||||||
@ -470,9 +476,7 @@ rm nscd/s-stamp
|
|||||||
%patch2004 -p1
|
%patch2004 -p1
|
||||||
%patch2005 -p1
|
%patch2005 -p1
|
||||||
%patch2006 -p1
|
%patch2006 -p1
|
||||||
%patch2007 -p1
|
|
||||||
%patch2008 -p1
|
%patch2008 -p1
|
||||||
%patch2009 -p1
|
|
||||||
|
|
||||||
%patch3000
|
%patch3000
|
||||||
|
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 21 11:57:49 UTC 2016 - schwab@suse.de
|
||||||
|
|
||||||
|
- powerpc-elision-enable-envvar.patch: enable TLE only if
|
||||||
|
GLIBC_ELISION_ENABLE=yes is defined (bsc#967594, fate#318236)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 15 10:44:46 UTC 2016 - schwab@suse.de
|
Tue Mar 15 10:44:46 UTC 2016 - schwab@suse.de
|
||||||
|
|
||||||
|
16
glibc.spec
16
glibc.spec
@ -210,6 +210,8 @@ Patch15: glibc-2.3.90-langpackdir.diff
|
|||||||
Patch18: glibc-cpusetsize.diff
|
Patch18: glibc-cpusetsize.diff
|
||||||
# PATCH-FEATURE-SLE Use nscd user for nscd
|
# PATCH-FEATURE-SLE Use nscd user for nscd
|
||||||
Patch19: nscd-server-user.patch
|
Patch19: nscd-server-user.patch
|
||||||
|
# PATCH-FEATURE-SLE powerpc: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined
|
||||||
|
Patch21: powerpc-elision-enable-envvar.patch
|
||||||
|
|
||||||
### Locale related patches
|
### Locale related patches
|
||||||
# PATCH-FIX-OPENSUSE Add additional locales
|
# PATCH-FIX-OPENSUSE Add additional locales
|
||||||
@ -238,6 +240,10 @@ Patch306: glibc-fix-double-loopback.diff
|
|||||||
###
|
###
|
||||||
# Patches from upstream
|
# Patches from upstream
|
||||||
###
|
###
|
||||||
|
# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
|
||||||
|
Patch1000: resolv-mem-leak.patch
|
||||||
|
# PATCH-FIX-UPSTREAM Don't use long double functions if NO_LONG_DOUBLE
|
||||||
|
Patch1001: no-long-double.patch
|
||||||
|
|
||||||
###
|
###
|
||||||
# Patches awaiting upstream approval
|
# Patches awaiting upstream approval
|
||||||
@ -256,12 +262,8 @@ Patch2004: fnmatch-collating-elements.patch
|
|||||||
Patch2005: nss-files-long-lines-2.patch
|
Patch2005: nss-files-long-lines-2.patch
|
||||||
# PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830)
|
# PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ #18830)
|
||||||
Patch2006: iconv-reset-input-buffer.patch
|
Patch2006: iconv-reset-input-buffer.patch
|
||||||
# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
|
|
||||||
Patch2007: resolv-mem-leak.patch
|
|
||||||
# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282)
|
# PATCH-FIX-UPSTREAM Reinitialize dl_load_write_lock on fork (BZ #19282)
|
||||||
Patch2008: reinitialize-dl_load_write_lock.patch
|
Patch2008: reinitialize-dl_load_write_lock.patch
|
||||||
# PATCH-FIX-UPSTREAM Don't use long double functions if NO_LONG_DOUBLE
|
|
||||||
Patch2009: no-long-double.patch
|
|
||||||
|
|
||||||
# Non-glibc patches
|
# Non-glibc patches
|
||||||
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
|
||||||
@ -451,6 +453,7 @@ rm nscd/s-stamp
|
|||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch19 -p1
|
%patch19 -p1
|
||||||
|
%patch21 -p1
|
||||||
|
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
@ -463,6 +466,9 @@ rm nscd/s-stamp
|
|||||||
%patch304 -p1
|
%patch304 -p1
|
||||||
%patch306 -p1
|
%patch306 -p1
|
||||||
|
|
||||||
|
%patch1000 -p1
|
||||||
|
%patch1001 -p1
|
||||||
|
|
||||||
%patch2000 -p1
|
%patch2000 -p1
|
||||||
%patch2001 -p1
|
%patch2001 -p1
|
||||||
%patch2002 -p1
|
%patch2002 -p1
|
||||||
@ -470,9 +476,7 @@ rm nscd/s-stamp
|
|||||||
%patch2004 -p1
|
%patch2004 -p1
|
||||||
%patch2005 -p1
|
%patch2005 -p1
|
||||||
%patch2006 -p1
|
%patch2006 -p1
|
||||||
%patch2007 -p1
|
|
||||||
%patch2008 -p1
|
%patch2008 -p1
|
||||||
%patch2009 -p1
|
|
||||||
|
|
||||||
%patch3000
|
%patch3000
|
||||||
|
|
||||||
|
41
powerpc-elision-enable-envvar.patch
Normal file
41
powerpc-elision-enable-envvar.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
2016-02-11 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/powerpc/elision-conf.c
|
||||||
|
(elision_init): Further restrict enablement based
|
||||||
|
on whether GLIBC_ELISION_ENABLE=yes is in the env.
|
||||||
|
---
|
||||||
|
sysdeps/unix/sysv/linux/powerpc/elision-conf.c | 14 +++++++++++++-
|
||||||
|
1 file changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: glibc-2.22/sysdeps/unix/sysv/linux/powerpc/elision-conf.c
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.22.orig/sysdeps/unix/sysv/linux/powerpc/elision-conf.c
|
||||||
|
+++ glibc-2.22/sysdeps/unix/sysv/linux/powerpc/elision-conf.c
|
||||||
|
@@ -21,6 +21,7 @@
|
||||||
|
#include <elision-conf.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <dl-procinfo.h>
|
||||||
|
+#include <string.h>
|
||||||
|
|
||||||
|
/* Reasonable initial tuning values, may be revised in the future.
|
||||||
|
This is a conservative initial value. */
|
||||||
|
@@ -61,7 +62,18 @@ elision_init (int argc __attribute__ ((u
|
||||||
|
{
|
||||||
|
#ifdef ENABLE_LOCK_ELISION
|
||||||
|
int elision_available = (GLRO (dl_hwcap2) & PPC_FEATURE2_HAS_HTM) ? 1 : 0;
|
||||||
|
- __pthread_force_elision = __libc_enable_secure ? 0 : elision_available;
|
||||||
|
+
|
||||||
|
+ /* Scan the environment and conditionally enable TLE. */
|
||||||
|
+ if (elision_available != 0 && __libc_enable_secure == 0)
|
||||||
|
+ {
|
||||||
|
+ for ( ; *environ != NULL; environ++)
|
||||||
|
+ if (**environ == 'G' &&
|
||||||
|
+ strcmp (*environ,"GLIBC_ELISION_ENABLE=yes") == 0)
|
||||||
|
+ {
|
||||||
|
+ __pthread_force_elision = elision_available;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
#endif
|
||||||
|
if (!__pthread_force_elision)
|
||||||
|
/* Disable elision on rwlocks. */
|
Loading…
Reference in New Issue
Block a user