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/16628] Segfault after a binary without pthread dlopen()s a library linked with pthread


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

--- Comment #6 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  9e78f6f6e7134a5f299cc8de77370218f8019237 (commit)
      from  705a79f82560ff6472cebed86aa5db04cdea3bce (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=9e78f6f6e7134a5f299cc8de77370218f8019237

commit 9e78f6f6e7134a5f299cc8de77370218f8019237
Author: Florian Weimer <fweimer@redhat.com>
Date:   Wed Nov 30 15:59:57 2016 +0100

    Implement _dl_catch_error, _dl_signal_error in libc.so [BZ #16628]

    This change moves the main implementation of _dl_catch_error,
    _dl_signal_error to libc.so, where TLS variables can be used
    directly.  This removes a writable function pointer from the
    rtld_global variable.

    For use during initial relocation, minimal implementations of these
    functions are provided in ld.so.  These are eventually interposed
    by the libc.so implementations.  This is implemented by compiling
    elf/dl-error-skeleton.c twice, via elf/dl-error.c and
    elf/dl-error-minimal.c.

    As a side effect of this change, the static version of dl-error.c
    no longer includes support for the
    _dl_signal_cerror/_dl_receive_error mechanism because it is only
    used in ld.so.

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

Summary of changes:
 ChangeLog                                          |   78 +++++++
 dlfcn/dlerror.c                                    |    4 +-
 dlfcn/dlinfo.c                                     |    4 +-
 dlfcn/dlmopen.c                                    |    4 +-
 dlfcn/dlopen.c                                     |    2 +-
 elf/Makefile                                       |   21 ++-
 elf/Versions                                       |    6 +
 elf/dl-close.c                                     |    2 +-
 elf/dl-error-minimal.c                             |   23 ++
 elf/dl-error-skeleton.c                            |  230 ++++++++++++++++++++
 elf/dl-error.c                                     |  210 +-----------------
 elf/dl-libc.c                                      |    4 +-
 elf/dl-sym.c                                       |    8 +-
 elf/dl-tsd.c                                       |   53 -----
 elf/rtld.c                                         |   19 --
 elf/tst-latepthread.c                              |  105 +++++++++
 elf/tst-latepthreadmod.c                           |   33 +++
 nptl/nptl-init.c                                   |    4 -
 sysdeps/generic/ldsodefs.h                         |   46 +++--
 sysdeps/generic/localplt.data                      |    3 +
 sysdeps/unix/sysv/linux/aarch64/localplt.data      |    3 +
 sysdeps/unix/sysv/linux/alpha/localplt.data        |    3 +
 sysdeps/unix/sysv/linux/arm/localplt.data          |    3 +
 sysdeps/unix/sysv/linux/hppa/localplt.data         |    3 +
 sysdeps/unix/sysv/linux/i386/localplt.data         |    3 +
 sysdeps/unix/sysv/linux/ia64/localplt.data         |    3 +
 sysdeps/unix/sysv/linux/m68k/localplt.data         |    3 +
 sysdeps/unix/sysv/linux/microblaze/localplt.data   |    3 +
 sysdeps/unix/sysv/linux/nios2/localplt.data        |    3 +
 .../sysv/linux/powerpc/powerpc32/fpu/localplt.data |    3 +
 .../linux/powerpc/powerpc32/nofpu/localplt.data    |    3 +
 .../sysv/linux/powerpc/powerpc64/localplt.data     |    3 +
 sysdeps/unix/sysv/linux/s390/localplt.data         |    3 +
 sysdeps/unix/sysv/linux/sh/localplt.data           |    3 +
 .../unix/sysv/linux/sparc/sparc32/localplt.data    |    3 +
 .../unix/sysv/linux/sparc/sparc64/localplt.data    |    3 +
 sysdeps/x86_64/localplt.data                       |    3 +
 37 files changed, 595 insertions(+), 315 deletions(-)
 create mode 100644 elf/dl-error-minimal.c
 create mode 100644 elf/dl-error-skeleton.c
 delete mode 100644 elf/dl-tsd.c
 create mode 100644 elf/tst-latepthread.c
 create mode 100644 elf/tst-latepthreadmod.c

-- 
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]