This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug dynamic-link/18676] RTLD_NODELETE on an already open DSO does not prevent unloading


https://sourceware.org/bugzilla/show_bug.cgi?id=18676

--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  9ceb5f6251fa0c0de5304e081e979b3f855148ed (commit)
       via  b632bdd3f7c0ba0c79f23f5e4404eebb87ebdaa8 (commit)
      from  c59f721c7377106888bff47064bf7da5a082e129 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9ceb5f6251fa0c0de5304e081e979b3f855148ed

commit 9ceb5f6251fa0c0de5304e081e979b3f855148ed
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Thu Jul 16 08:54:39 2015 +0530

    Whitespace fixup in cxa_thread_atexit_impl.c

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b632bdd3f7c0ba0c79f23f5e4404eebb87ebdaa8

commit b632bdd3f7c0ba0c79f23f5e4404eebb87ebdaa8
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Thu Jul 16 08:53:28 2015 +0530

    Set NODELETE flag when opening already open objects with RTLD_NODELETE

    The DF_1_NODELETE flag is set too late when opening a DSO, due to
    which, if a DSO is already open, subsequently opening it with
    RTLD_NODELETE fails to set the DF_1_NODELETE flag.  This patch fixes
    this by setting the flag immediately after bumping the opencount.

    Verified on x86_64.

        [BZ #18676]
        * elf/tst-nodelete-opened.c: New test case.
        * elf/tst-nodelete-opened-lib.c: New test case module.
        * elf/Makefile (tests, modules-names): Use them.
        * elf/dl-open.c (dl_open_worker): Set DF_1_NODELETE flag
        early.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   11 +++++
 NEWS                                               |    2 +-
 elf/Makefile                                       |    6 ++-
 elf/dl-open.c                                      |   11 +++--
 .../stpcpy.S => elf/tst-nodelete-opened-lib.c      |    5 +-
 .../tst-nodelete-opened.c                          |   47 +++++++++++--------
 stdlib/cxa_thread_atexit_impl.c                    |    2 +-
 7 files changed, 52 insertions(+), 32 deletions(-)
 copy sysdeps/aarch64/stpcpy.S => elf/tst-nodelete-opened-lib.c (89%)
 copy nptl/tst-pthread-mutexattr.c => elf/tst-nodelete-opened.c (56%)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]