aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorPaul Pluzhnikov <ppluzhnikov@google.com>2014-03-24 10:58:26 -0700
committerPaul Pluzhnikov <ppluzhnikov@google.com>2014-03-24 10:58:26 -0700
commita42faf59d6d9f82e5293a9ebcc26d9c9e562b12b (patch)
treea124669e62343e6b318af03c82a86a807773c334 /ChangeLog
parent509361270b4b889e991400a70eb87d45304c01cd (diff)
downloadglibc-a42faf59d6d9f82e5293a9ebcc26d9c9e562b12b.zip
glibc-a42faf59d6d9f82e5293a9ebcc26d9c9e562b12b.tar.gz
glibc-a42faf59d6d9f82e5293a9ebcc26d9c9e562b12b.tar.bz2
Fix BZ #16634.
An application that erroneously tries to repeatedly dlopen("a.out", ...) may hit assertion failure: Inconsistency detected by ld.so: dl-tls.c: 474: _dl_allocate_tls_init: Assertion `listp != ((void *)0)' failed! dlopen() actually fails with "./a.out: cannot dynamically load executable", but it does so after incrementing dl_tls_max_dtv_idx. Once we run out of TLS_SLOTINFO_SURPLUS (62), we exit with above assertion failure. 2014-03-24 Paul Pluzhnikov <ppluzhnikov@google.com> [BZ #16634] * elf/dl-load.c (open_verify): Add mode parameter. Error early when ET_EXEC and mode does not have __RTLD_OPENEXEC. (open_path): Change from boolean 'secure' to complete flag 'mode' (_dl_map_object): Adjust. * elf/Makefile (tests): Add tst-dlopen-aout. * elf/tst-dlopen-aout.c: New test.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog11
1 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 745d50a..9937c19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2014-03-24 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ [BZ #16634]
+
+ * elf/dl-load.c (open_verify): Add mode parameter.
+ Error early when ET_EXEC and mode does not have __RTLD_OPENEXEC.
+ (open_path): Change from boolean 'secure' to complete flag 'mode'
+ (_dl_map_object): Adjust.
+ * elf/Makefile (tests): Add tst-dlopen-aout.
+ * elf/tst-dlopen-aout.c: New test.
+
2014-03-24 Stefan Liebler <stli@linux.vnet.ibm.com>
[BZ #16714]