From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 85253 invoked by alias); 24 Oct 2016 14:43:12 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 85162 invoked by uid 89); 24 Oct 2016 14:43:11 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_NEUTRAL autolearn=no version=3.3.2 spammy=INSTALL, Tools, mach, Cauldron X-HELO: homiemail-a45.g.dreamhost.com From: Siddhesh Poyarekar To: libc-alpha@sourceware.org Subject: [PATCH v5 0/6] glibc tunables Date: Mon, 24 Oct 2016 14:43:00 -0000 Message-Id: <1477320168-23397-1-git-send-email-siddhesh@sourceware.org> X-SW-Source: 2016-10/txt/msg00382.txt.bz2 Hi, ... and I'm back! Here is another updated patch set with suggestions from multiple people incorporated, including results from discussions at the GNU Tools Cauldron last month. - I had inadvertently opened a hole with MALLOC_CHECK_ where it could be read in setuid binaries even if /etc/suid-debug was not present. This is now fixed. - __tunables_init is now called *really* early so that tunables are set up before apply_irel is called. H. J. will now have to split his patch such that his IFUNC resolver looks at both, the tunables and the result of cpuid instead of overriding cpuid using tunables. I think this is a good thing since it keeps the cpuid information honest and only masks it for the specific purpose of IFUNC. - The very early initialization meant that I needed a new version of __access that does not set errno. That's another patch to the patchset. This is an internal function, so there is no ABI event here. - Enhanced the --enable-tunables option (in a separate patch) to accept string values other than 'yes' and 'no'. As discussed at Cauldron, this would allow us to experiment with different frontends without committing to one yet. Right now there is only one frontend, i.e. 'valstring' that allows setting tunables using the single GLIBC_TUNABLES environment variable. - Wrote a manual node for tunables. As usual, the branch siddhesh/tunables has these patches and any patches they may depend on (like the doc changes for malloc). Siddhesh Poyarekar (6): Static inline functions for mallopt helpers New internal function __access_noerrno Add framework for tunables Initialize tunable list with the GLIBC_TUNABLES environment variable Enhance --enable-tunables to select tunables frontend at build time User manual documentation for tunables INSTALL | 18 ++ Makeconfig | 16 ++ README.tunables | 84 ++++++ config.h.in | 3 + config.make.in | 1 + configure | 17 ++ configure.ac | 10 + csu/init-first.c | 2 - csu/libc-start.c | 11 + elf/Makefile | 7 + elf/Versions | 3 + elf/dl-support.c | 2 + elf/dl-sysdep.c | 8 + elf/dl-tunable-types.h | 46 +++ elf/dl-tunables.c | 435 +++++++++++++++++++++++++++++ elf/dl-tunables.h | 82 ++++++ elf/dl-tunables.list | 69 +++++ elf/rtld.c | 2 + include/unistd.h | 6 + io/Makefile | 1 + io/access.c | 10 +- io/access_noerrno.c | 21 ++ malloc/Makefile | 6 + malloc/arena.c | 54 ++++ malloc/malloc.c | 126 ++++++--- malloc/tst-malloc-usable-static-tunables.c | 1 + malloc/tst-malloc-usable-static.c | 1 + malloc/tst-malloc-usable-tunables.c | 1 + manual/Makefile | 3 +- manual/install.texi | 21 ++ manual/probes.texi | 2 +- manual/tunables.texi | 184 ++++++++++++ scripts/gen-tunables.awk | 157 +++++++++++ sysdeps/mach/hurd/access.c | 20 +- sysdeps/mach/hurd/dl-sysdep.c | 8 + sysdeps/nacl/access.c | 16 +- sysdeps/nacl/nacl-interfaces.h | 4 + sysdeps/unix/access_noerrno.c | 38 +++ sysdeps/unix/sysv/linux/generic/access.c | 19 +- 39 files changed, 1469 insertions(+), 46 deletions(-) create mode 100644 README.tunables create mode 100644 elf/dl-tunable-types.h create mode 100644 elf/dl-tunables.c create mode 100644 elf/dl-tunables.h create mode 100644 elf/dl-tunables.list create mode 100644 io/access_noerrno.c create mode 100644 malloc/tst-malloc-usable-static-tunables.c create mode 100644 malloc/tst-malloc-usable-static.c create mode 100644 malloc/tst-malloc-usable-tunables.c create mode 100644 manual/tunables.texi create mode 100644 scripts/gen-tunables.awk create mode 100644 sysdeps/unix/access_noerrno.c -- 2.7.4