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 malloc/20432] malloc: Minimize interface required for interposition


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

--- Comment #4 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, linaro/2.23/master has been updated
       via  058b5a41d56b9a8860dede14d97dd443792d064b (commit)
       via  afb035f50b140f808f52d11e3155ed555fb37e8c (commit)
       via  254269d6a9d5c025b5e1df31f4019daadf6a35bb (commit)
       via  d7d49b08413124b03f227f5fe06aa811a52c2b23 (commit)
       via  fa9a646079950ea326e1f2feee7093580dc1ecd3 (commit)
       via  d848d802563193cbc9a8113577eab582a958d994 (commit)
       via  1ec838a143b35f65169acc455308eb20198a4853 (commit)
       via  2eb71adc3fc023c026b88bdfce69561f1f91ee4a (commit)
      from  e124685d6140c870fd2de18545a58bd0b8d91177 (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=058b5a41d56b9a8860dede14d97dd443792d064b

commit 058b5a41d56b9a8860dede14d97dd443792d064b
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Aug 26 22:40:27 2016 +0200

    malloc: Simplify static malloc interposition [BZ #20432]

    Existing interposed mallocs do not define the glibc-internal
    fork callbacks (and they should not), so statically interposed
    mallocs lead to link failures because the strong reference from
    fork pulls in glibc's malloc, resulting in multiple definitions
    of malloc-related symbols.

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

commit afb035f50b140f808f52d11e3155ed555fb37e8c
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Aug 16 11:06:13 2016 +0200

    nptl/tst-tls3-malloc: Force freeing of thread stacks

    It turns out that due to the reduced stack size in tst-tls3 and the
    (fixed) default stack cache size, allocated TLS variables are never
    freed, so the test coverage for tst-tls3-malloc is less than complete.
    This change increases the thread stack size for tst-tls3-malloc only,
    to make sure thread stacks and TLS variables are freed.

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

commit 254269d6a9d5c025b5e1df31f4019daadf6a35bb
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Aug 2 17:01:02 2016 +0200

    malloc: Run tests without calling mallopt [BZ #19469]

    The compiled tests no longer refer to the mallopt symbol
    from their main functions.  (Some tests still call mallopt
    explicitly, which is fine.)

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

commit d7d49b08413124b03f227f5fe06aa811a52c2b23
Author: Florian Weimer <fweimer@redhat.com>
Date:   Wed Aug 3 16:16:57 2016 +0200

    elf: Do not use memalign for TCB/TLS blocks allocation [BZ #17730]

    Instead, call malloc and explicitly align the pointer.

    There is no external location to store the original (unaligned)
    pointer, and this commit increases the allocation size to store
    the pointer at a fixed location relative to the TCB pointer.

    The manual alignment means that some space goes unused which
    was previously made available for subsequent allocations.
    However, in the TLS_DTV_AT_TP case, the manual alignment code
    avoids aligning the pre-TCB to the TLS block alignment.  (Even
    while using memalign, the allocation had some unused padding
    in front.)

    This concludes the removal of memalign calls from the TLS code,
    and the new tst-tls3-malloc test verifies that only core malloc
    routines are used.

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

commit fa9a646079950ea326e1f2feee7093580dc1ecd3
Author: Florian Weimer <fweimer@redhat.com>
Date:   Wed Aug 3 16:15:38 2016 +0200

    elf: Avoid using memalign for TLS allocations [BZ #17730]

    Instead of a flag which indicates the pointer can be freed, dtv_t
    now includes the pointer which should be freed.  Due to padding,
    the size of dtv_t does not increase.

    To avoid using memalign, the new allocate_dtv_entry function
    allocates a sufficiently large buffer so that a sub-buffer
    can be found in it which starts with an aligned pointer.  Both
    the aligned and original pointers are kept, the latter for calling
    free later.

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

commit d848d802563193cbc9a8113577eab582a958d994
Author: Florian Weimer <fweimer@redhat.com>
Date:   Mon Jun 20 14:31:40 2016 +0200

    elf: Consolidate machine-agnostic DTV definitions in <dl-dtv.h>

    Identical definitions of dtv_t and TLS_DTV_UNALLOCATED were
    repeated for all architectures using DTVs.

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

commit 1ec838a143b35f65169acc455308eb20198a4853
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Thu Dec 15 18:34:05 2016 -0500

    localedata: bs_BA: fix yesexpr/noexpr [BZ #20974]

    Both regexes end with a "*." which means the previous match can be
    omitted, and then the . allows them to match any input at all.

    This means tools like coreutils' `rm -i` will always delete things
    when prompted because the yesexpr regex matches all inputs (even
    the negative ones).

    (cherry picked from commit a035eb6928bc63fb798dcc1421529f933122d74f)

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

commit 2eb71adc3fc023c026b88bdfce69561f1f91ee4a
Author: Siddhesh Poyarekar <siddhesh@sourceware.org>
Date:   Mon Jul 18 22:33:09 2016 +0530

    Fix cos computation for multiple precision fallback (bz #20357)

    During the sincos consolidation I made two mistakes, one was a logical
    error due to which cos(0x1.8475e5afd4481p+0) returned
    sin(0x1.8475e5afd4481p+0) instead.

    The second issue was an error in negating inputs for the correct
    quadrants for sine.  I could not find a suitable test case for this
    despite running a program to search for such an input for a couple of
    hours.

    Following patch fixes both issues.  Tested on x86_64.  Thanks to Matt
    Clay for identifying the issue.

        [BZ #20357]
        * sysdeps/ieee754/dbl-64/s_sin.c (sloww): Fix up condition
        to call __mpsin/__mpcos and to negate values.
        * math/auto-libm-test-in: Add test.
        * math/auto-libm-test-out: Regenerate.

    (cherry picked from commit cbf88869edced4b23d792d95a8626e35b831df35)

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

Summary of changes:
 ChangeLog                              |  146 +++++++++++++++++
 NEWS                                   |    1 +
 csu/libc-tls.c                         |    2 +-
 elf/dl-tls.c                           |  164 ++++++++++++--------
 include/libc-symbols.h                 |   15 ++
 localedata/ChangeLog                   |    6 +
 localedata/locales/bs_BA               |    4 +-
 malloc/Makefile                        |   31 ++++-
 malloc/tst-interpose-aux-nothread.c    |   20 +++
 malloc/tst-interpose-aux-thread.c      |   20 +++
 malloc/tst-interpose-aux.c             |  270 ++++++++++++++++++++++++++++++++
 malloc/tst-interpose-aux.h             |   30 ++++
 malloc/tst-interpose-nothread.c        |   20 +++
 malloc/tst-interpose-skeleton.c        |  210 +++++++++++++++++++++++++
 malloc/tst-interpose-static-nothread.c |   19 +++
 malloc/tst-interpose-static-thread.c   |   19 +++
 malloc/tst-interpose-thread.c          |   20 +++
 math/auto-libm-test-in                 |    3 +
 math/auto-libm-test-out                |  207 ++++++++++++++++++++++++
 nptl/Makefile                          |    8 +-
 nptl/allocatestack.c                   |    4 +-
 nptl/tst-tls3-malloc.c                 |   31 ++++
 nptl/tst-tls3.c                        |   10 +-
 sysdeps/aarch64/dl-tls.h               |    3 -
 sysdeps/aarch64/nptl/tls.h             |   12 +--
 sysdeps/alpha/dl-tls.h                 |    3 -
 sysdeps/alpha/nptl/tls.h               |   12 +--
 sysdeps/arm/dl-tls.h                   |    3 -
 sysdeps/arm/nptl/tls.h                 |   12 +--
 sysdeps/generic/dl-dtv.h               |   38 +++++
 sysdeps/hppa/dl-tls.h                  |    3 -
 sysdeps/hppa/nptl/tls.h                |   12 +--
 sysdeps/i386/dl-tls.h                  |    3 -
 sysdeps/i386/nptl/tls.h                |   14 +--
 sysdeps/ia64/dl-tls.h                  |    3 -
 sysdeps/ia64/nptl/tls.h                |   14 +--
 sysdeps/ieee754/dbl-64/s_sin.c         |    4 +-
 sysdeps/m68k/dl-tls.h                  |    3 -
 sysdeps/m68k/nptl/tls.h                |   12 +--
 sysdeps/mach/hurd/fork.c               |    6 +-
 sysdeps/mach/hurd/i386/tls.h           |   12 +--
 sysdeps/microblaze/dl-tls.h            |    3 -
 sysdeps/microblaze/nptl/tls.h          |   12 +--
 sysdeps/mips/dl-tls.h                  |    3 -
 sysdeps/mips/nptl/tls.h                |   13 +--
 sysdeps/nios2/dl-tls.h                 |    3 -
 sysdeps/nios2/nptl/tls.h               |   12 +--
 sysdeps/nptl/fork.c                    |    6 +-
 sysdeps/powerpc/dl-tls.h               |    3 -
 sysdeps/powerpc/nptl/tls.h             |   12 +--
 sysdeps/s390/dl-tls.h                  |    3 -
 sysdeps/s390/nptl/tls.h                |   14 +--
 sysdeps/sh/dl-tls.h                    |    3 -
 sysdeps/sh/nptl/tls.h                  |   12 +--
 sysdeps/sparc/dl-tls.h                 |    3 -
 sysdeps/sparc/nptl/tls.h               |   12 +--
 sysdeps/tile/dl-tls.h                  |    3 -
 sysdeps/tile/nptl/tls.h                |   12 +--
 sysdeps/x86_64/dl-tls.h                |    3 -
 sysdeps/x86_64/nptl/tls.h              |   13 +--
 test-skeleton.c                        |    2 +
 61 files changed, 1251 insertions(+), 325 deletions(-)
 create mode 100644 malloc/tst-interpose-aux-nothread.c
 create mode 100644 malloc/tst-interpose-aux-thread.c
 create mode 100644 malloc/tst-interpose-aux.c
 create mode 100644 malloc/tst-interpose-aux.h
 create mode 100644 malloc/tst-interpose-nothread.c
 create mode 100644 malloc/tst-interpose-skeleton.c
 create mode 100644 malloc/tst-interpose-static-nothread.c
 create mode 100644 malloc/tst-interpose-static-thread.c
 create mode 100644 malloc/tst-interpose-thread.c
 create mode 100644 nptl/tst-tls3-malloc.c
 create mode 100644 sysdeps/generic/dl-dtv.h

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