about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.vnet.ibm.com>2018-04-19 12:38:37 +0200
committerStefan Liebler <stli@linux.vnet.ibm.com>2018-04-19 12:45:11 +0200
commit0085be1415a38b40a5a1a12e49368498f1687380 (patch)
tree5f8d86d42cf09bf2eced933e2463f0c34e5d9461
parentda796524f8d64df3113e3c538adf285cf3ba041c (diff)
downloadglibc-0085be1415a38b40a5a1a12e49368498f1687380.tar.gz
glibc-0085be1415a38b40a5a1a12e49368498f1687380.tar.xz
glibc-0085be1415a38b40a5a1a12e49368498f1687380.zip
Disable lock elision for mutex pretty printer tests.
If e.g. the testcase nptl/test-mutex-printers is run
with enabled lock-elision, it fails on s390x with:
Error: Response does not match the expected pattern.
Command: print *mutex
Expected pattern: pthread_mutex_t
Response:  No symbol "mutex" in current context.
(gdb)

See https://www.sourceware.org/ml/libc-alpha/2018-03/msg00583.html
for more details.

In fact the mutex pretty printer tests rely on looking at the
internal details of the lock, thus we disable it by setting up
the GLIB_TUNABLES environment variable inside gdb.

ChangeLog:

	* scripts/test_printers_common.py (init_test): Disable lock elision.
-rw-r--r--ChangeLog4
-rw-r--r--scripts/test_printers_common.py3
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index df941db962..5cc4dc9f63 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2018-04-19  Stefan Liebler  <stli@linux.vnet.ibm.com>
 
+	* scripts/test_printers_common.py (init_test): Disable lock elision.
+
+2018-04-19  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
 	* math/test-tgmath.c (count_double, count_float,
 	count_ldouble, count_cdouble, count_cfloat,
 	count_cldouble): Use volatile int.
diff --git a/scripts/test_printers_common.py b/scripts/test_printers_common.py
index 73ca525556..cf4de5ae23 100644
--- a/scripts/test_printers_common.py
+++ b/scripts/test_printers_common.py
@@ -171,6 +171,9 @@ def init_test(test_bin, printer_files, printer_names):
     # Finally, load the test binary.
     test('file {0}'.format(test_bin))
 
+    # Disable lock elision.
+    test('set environment GLIBC_TUNABLES glibc.elision.enable=0')
+
 def go_to_main():
     """Executes a gdb 'start' command, which takes us to main."""