[RFC][PATCH v8 06/20] elf/dl-init.c: Skip proxied link map entries in the dl init path
Vivek Das Mohapatra
vivek@collabora.com
Tue Feb 9 17:18:25 GMT 2021
Proxies should not trigger calls to DT_INIT constructors since they're
just shims that point to the real, already loaded and initialised, objects.
---
elf/dl-init.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/elf/dl-init.c b/elf/dl-init.c
index b7e4b8a3af..a0183aa315 100644
--- a/elf/dl-init.c
+++ b/elf/dl-init.c
@@ -34,8 +34,8 @@ call_init (struct link_map *l, int argc, char **argv, char **env)
need relocation, and neither do proxy objects.) */
assert (l->l_real->l_relocated || l->l_real->l_type == lt_executable);
- if (l->l_init_called)
- /* This object is all done. */
+ if (l->l_init_called || l->l_proxy)
+ /* This object is all done, or a proxy (and therefore initless). */
return;
/* Avoid handling this constructor again in case we have a circular
--
2.20.1
More information about the Libc-alpha
mailing list