summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@codesourcery.com>2013-06-28 16:20:26 +0100
committerMaciej W. Rozycki <macro@codesourcery.com>2013-06-28 16:22:20 +0100
commitf91f1c0fb89056995f1c9c6a06c361efdf5139e7 (patch)
tree67db98c499e8dbd72bc5b49e654706d375384c0f /ChangeLog
parented0257f7d3378ec4a72e297f0dcba5159f2dd138 (diff)
[BZ #15022] Correct global-scope dlopen issues in static executables.
This change creates a link map in static executables to serve as the global search list for dlopen. It fixes a problem with the inability to access the global symbol object and a crash on an attempt to map a DSO into the global scope. Some code that has become dead after the addition of this link map is removed too and test cases are provided.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog23
1 files changed, 23 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1012b2c2db..174b184c37 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2013-06-28 Maciej W. Rozycki <macro@codesourcery.com>
+
+ [BZ #15022]
+ * elf/dl-support.c (_dl_main_map): New variable.
+ (_dl_ns): Use it to initialize [LM_ID_BASE] element.
+ (_dl_nns, _dl_load_adds): Set to 1.
+ (_dl_initial_searchlist): Refer to _dl_main_map.
+ (_dl_non_dynamic_init): Initialize _dl_main_map.l_origin.
+ * elf/dl-load.c (_dl_dst_substitute) [!SHARED]: Remove fallback
+ call to _dl_get_origin.
+ * elf/dl-open.c (dl_open_worker): Remove !SHARED special casing
+ around call_map.
+ (_dl_open) [!SHARED]: Remove code to initialize GL(dl_nns).
+ * dlfcn/modstatic3.c: New file.
+ * dlfcn/tststatic3.c: New file.
+ * dlfcn/tststatic4.c: New file.
+ * dlfcn/Makefile (tests): Add tststatic3 and tststatic4.
+ (tests-static): Likewise.
+ (modules-names): Add modstatic3.
+ (tststatic3-ENV, tststatic4-ENV): New variables.
+ ($(objpfx)tststatic3, $(objpfx)tststatic3.out): New dependencies.
+ ($(objpfx)tststatic4, $(objpfx)tststatic4.out): Likewise.
+
2013-06-26 Joseph Myers <joseph@codesourcery.com>
* configure.in (CC): Require GCC version 4.4 or later.