Subject: Re: bug#38368: Acknowledgement (gcc/ dlclose() documentation feedback)

From: kris <[email-masked]>
Date: Tue, 26 Nov 2019 03:48:59 +0100

hello.
apart from making the mistake of titling 'gcc' rather than 'glibc', on
revue I was also vague about what I saw as the ambiguity in the
documentation.
to wit: on the one hand the docs state dlclose() does NOT guarantee unloading
of the object.
on the other a means is provided for determining if an object is
resident (RTLD_NOLOAD).
having done that once and dlclose()ed as needed (twice if the handle
was non-null),
if a 2nd attempt to dlopen() returns null then that is indeed
confirmation of unloading.
so, in this way, a guarantee is obtained of unloaded status and it was
done via a combination of dlopen() and dlclose() (multiple).
my contention is that the mention of  dlclose() being 'not guaranteed'
could be qualified by indicating how to go about it.

that said, I methodically went through getting this confirmation of
unloaded status for
a recursive chain, and still found that data obtained through a
dlsym() on the re-opened chain-head object did not correspond to the
content of the refreshed disk file.
I am totally confused about that!