From 27f1b2c66c67e601dd619a1def70a8fd7ca5eeba Mon Sep 17 00:00:00 2001 From: Leonid Lisovskiy Date: Wed, 13 Jan 2016 21:00:05 +0300 Subject: libdl: dlopen() mustn't forget RTLD_NODELETE flag If RTLD_NODELETE is passed to dlopen() rather than set on shared library itself, flag propagation to rtld_flags is missed. Test-case taken from glibc. Signed-off-by: Leonid Lisovskiy Signed-off-by: Waldemar Brodkorb --- test/dlopen/nodelmod1.c | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 test/dlopen/nodelmod1.c (limited to 'test/dlopen/nodelmod1.c') diff --git a/test/dlopen/nodelmod1.c b/test/dlopen/nodelmod1.c new file mode 100644 index 000000000..51be080af --- /dev/null +++ b/test/dlopen/nodelmod1.c @@ -0,0 +1,10 @@ +extern int fini_ran; + +int var1 = 42; + +static void +__attribute__ ((__destructor__)) +destr (void) +{ + fini_ran = 1; +} -- cgit v1.2.3