about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2018-01-08 14:57:25 +0100
committerFlorian Weimer <fweimer@redhat.com>2018-01-08 14:57:25 +0100
commit579396ee082565ab5f42ff166a264891223b7b82 (patch)
tree134c81ee31299fdaca62dc18dc1ba418ee6b1c0f /ChangeLog
parentdabd75b6a1180c2ca6a6f966f08cc00e8e72cce9 (diff)
downloadglibc-579396ee082565ab5f42ff166a264891223b7b82.tar.gz
glibc-579396ee082565ab5f42ff166a264891223b7b82.tar.xz
glibc-579396ee082565ab5f42ff166a264891223b7b82.zip
nptl: Add test for callee-saved register restore in pthread_exit
GCC PR 83641 results in a miscompilation of libpthread, which
causes pthread_exit not to restore callee-saved registers before
running destructors for objects on the stack.  This test detects
this situation:

info: unsigned int, direct pthread_exit call
tst-thread-exit-clobber.cc:80: numeric comparison failure
   left: 4148288912 (0xf741dd90); from: value
  right: 1600833940 (0x5f6ac994); from: magic_values.v2
info: double, direct pthread_exit call
info: unsigned int, indirect pthread_exit call
info: double, indirect pthread_exit call
error: 1 test failures
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog9
1 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a8fc47ea14..09ea55ea2b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2018-01-08  Florian Weimer  <fweimer@redhat.com>
 
+	* nptl/tst-thread-exit-clobber.cc: New file.
+	* nptl/Makefile (CFLAGS-tst-thread-exit-clobber.o): Compile in
+	C++11 mode.
+	(LDLIBS-tst-thread-exit-clobber): Link with libstdc++.
+	(tests): Add tst-thread-exit-clobber.
+	[!CXX] (tests-unsupported): Add tst-thread-exit-clobber.
+
+2018-01-08  Florian Weimer  <fweimer@redhat.com>
+
 	* support/check.h (support_static_assert): Define.
 	(TEST_COMPARE): Use it.