diff options
author | Florian Weimer <fweimer@redhat.com> | 2023-10-18 14:31:02 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2023-10-18 14:31:02 +0200 |
commit | dc3b5b9048d342b5b779683dff018ac3bd14a17b (patch) | |
tree | 5f76c4cfc2853ec6bc917fbfaf0d50b9a287e249 /elf/dl-init.c | |
parent | ad96b5532570a6782f784b4f2c6aa2a52359144d (diff) | |
download | glibc-dc3b5b9048d342b5b779683dff018ac3bd14a17b.tar.gz glibc-dc3b5b9048d342b5b779683dff018ac3bd14a17b.tar.xz glibc-dc3b5b9048d342b5b779683dff018ac3bd14a17b.zip |
Revert "elf: Always call destructors in reverse constructor order (bug 30785)"
This reverts commit 5d83a52a4905405792418d6a0f3afa3601a98c37. Reason for revert: Incompatibility with existing applications.
Diffstat (limited to 'elf/dl-init.c')
-rw-r--r-- | elf/dl-init.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/elf/dl-init.c b/elf/dl-init.c index 77b2edd838..fca8e3a05e 100644 --- a/elf/dl-init.c +++ b/elf/dl-init.c @@ -21,7 +21,6 @@ #include <ldsodefs.h> #include <elf-initfini.h> -struct link_map *_dl_init_called_list; static void call_init (struct link_map *l, int argc, char **argv, char **env) @@ -43,21 +42,6 @@ call_init (struct link_map *l, int argc, char **argv, char **env) dependency. */ l->l_init_called = 1; - /* Help an already-running dlclose: The just-loaded object must not - be removed during the current pass. (No effect if no dlclose in - progress.) */ - l->l_map_used = 1; - - /* Record execution before starting any initializers. This way, if - the initializers themselves call dlopen, their ELF destructors - will eventually be run before this object is destructed, matching - that their ELF constructors have run before this object was - constructed. _dl_fini uses this list for audit callbacks, so - register objects on the list even if they do not have a - constructor. */ - l->l_init_called_next = _dl_init_called_list; - _dl_init_called_list = l; - /* Check for object which constructors we do not run here. */ if (__builtin_expect (l->l_name[0], 'a') == '\0' && l->l_type == lt_executable) |