This is the mail archive of the
mailing list for the glibc project.
[Bug dynamic-link/20839] Incomplete rollback of dynamic linker state on linking failure
- From: "woodard at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 11 Oct 2017 05:19:54 +0000
- Subject: [Bug dynamic-link/20839] Incomplete rollback of dynamic linker state on linking failure
- Auto-submitted: auto-generated
- References: <firstname.lastname@example.org/bugzilla/>
--- Comment #3 from Ben Woodard <woodard at redhat dot com> ---
It is my opinion that the NODELETE flag should not be honored at this early
stage. The reason for the NODELETE flag is that the library may have side
effects that are irreversible. However, because the library has not been
relocated, it cannot even have had its constructor run. Therefore, its ability
to cause irreversible side effects are practically nil. Therefore it is safe to
remove it as if the NODELETE flag had not been set.
Earlier testing with my reproducer demonstrated that without the -Wl,nodelete
command line option, the problem does not manifest. Therefore, we have a case
where we do not have a NODELETE flag that works correctly and we have a case
where we do honor the NODELETE flag which crashes. Therefore it seems to make
sense that the NODELETE flag only takes effect after the relocations have been
done. Or maybe only after the library's constructor has been run. It is only
then, that the library could have made a change which that would not permit it
from being deleted.
You are receiving this mail because:
You are on the CC list for the bug.