From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2206) id 32FCE388880E; Fri, 23 Jul 2021 08:30:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 32FCE388880E Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Siddhesh Poyarekar To: glibc-cvs@sourceware.org Subject: [glibc] Fix build and tests with --disable-tunables X-Act-Checkin: glibc X-Git-Author: Siddhesh Poyarekar X-Git-Refname: refs/heads/master X-Git-Oldrev: 9a7ab0769b295cbf5232140401742a8f34bda3de X-Git-Newrev: 5b8d271571434a74b2464c278eafe2ff81f31029 Message-Id: <20210723083054.32FCE388880E@sourceware.org> Date: Fri, 23 Jul 2021 08:30:54 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Jul 2021 08:30:54 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5b8d271571434a74b2464c278eafe2ff81f31029 commit 5b8d271571434a74b2464c278eafe2ff81f31029 Author: Siddhesh Poyarekar Date: Fri Jul 23 13:57:56 2021 +0530 Fix build and tests with --disable-tunables Remove unused code and declare __libc_mallopt when !IS_IN (libc) to allow the debug hook to build with --disable-tunables. Also, run tst-ifunc-isa-2* tests only when tunables are enabled since the result depends on it. Tested on x86_64. Reported-by: Matheus Castanho Reviewed-by: Carlos O'Donell Diff: --- malloc/arena.c | 5 ----- malloc/malloc-check.c | 2 ++ malloc/malloc.c | 51 ++++++++++++++++++++++++++------------------------- sysdeps/x86/Makefile | 8 ++++++-- 4 files changed, 34 insertions(+), 32 deletions(-) diff --git a/malloc/arena.c b/malloc/arena.c index edcaa8816d..667484630e 100644 --- a/malloc/arena.c +++ b/malloc/arena.c @@ -332,7 +332,6 @@ ptmalloc_init (void) # endif TUNABLE_GET (mxfast, size_t, TUNABLE_CALLBACK (set_mxfast)); #else - const char *s = NULL; if (__glibc_likely (_environ != NULL)) { char **runp = _environ; @@ -351,10 +350,6 @@ ptmalloc_init (void) switch (len) { - case 6: - if (memcmp (envline, "CHECK_", 6) == 0) - s = &envline[7]; - break; case 8: if (!__builtin_expect (__libc_enable_secure, 0)) { diff --git a/malloc/malloc-check.c b/malloc/malloc-check.c index a444c7478e..8ed67de3ff 100644 --- a/malloc/malloc-check.c +++ b/malloc/malloc-check.c @@ -376,6 +376,7 @@ memalign_check (size_t alignment, size_t bytes) return mem2mem_check (tag_new_usable (mem), bytes); } +#if HAVE_TUNABLES static void TUNABLE_CALLBACK (set_mallopt_check) (tunable_val_t *valp) { @@ -383,6 +384,7 @@ TUNABLE_CALLBACK (set_mallopt_check) (tunable_val_t *valp) if (value != 0) __malloc_debug_enable (MALLOC_CHECK_HOOK); } +#endif static bool initialize_malloc_check (void) diff --git a/malloc/malloc.c b/malloc/malloc.c index 38b649fcba..e065785af7 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -687,31 +687,6 @@ void* __libc_valloc(size_t); -/* - mallopt(int parameter_number, int parameter_value) - Sets tunable parameters The format is to provide a - (parameter-number, parameter-value) pair. mallopt then sets the - corresponding parameter to the argument value if it can (i.e., so - long as the value is meaningful), and returns 1 if successful else - 0. SVID/XPG/ANSI defines four standard param numbers for mallopt, - normally defined in malloc.h. Only one of these (M_MXFAST) is used - in this malloc. The others (M_NLBLKS, M_GRAIN, M_KEEP) don't apply, - so setting them has no effect. But this malloc also supports four - other options in mallopt. See below for details. Briefly, supported - parameters are as follows (listed defaults are for "typical" - configurations). - - Symbol param # default allowed param values - M_MXFAST 1 64 0-80 (0 disables fastbins) - M_TRIM_THRESHOLD -1 128*1024 any (-1U disables trimming) - M_TOP_PAD -2 0 any - M_MMAP_THRESHOLD -3 128*1024 any (or 0 if no MMAP support) - M_MMAP_MAX -4 65536 any (0 disables use of mmap) -*/ -int __libc_mallopt(int, int); -libc_hidden_proto (__libc_mallopt) - - /* mallinfo() Returns (by copy) a struct containing various summary statistics: @@ -820,6 +795,32 @@ void __malloc_stats(void); int __posix_memalign(void **, size_t, size_t); #endif /* IS_IN (libc) */ +/* + mallopt(int parameter_number, int parameter_value) + Sets tunable parameters The format is to provide a + (parameter-number, parameter-value) pair. mallopt then sets the + corresponding parameter to the argument value if it can (i.e., so + long as the value is meaningful), and returns 1 if successful else + 0. SVID/XPG/ANSI defines four standard param numbers for mallopt, + normally defined in malloc.h. Only one of these (M_MXFAST) is used + in this malloc. The others (M_NLBLKS, M_GRAIN, M_KEEP) don't apply, + so setting them has no effect. But this malloc also supports four + other options in mallopt. See below for details. Briefly, supported + parameters are as follows (listed defaults are for "typical" + configurations). + + Symbol param # default allowed param values + M_MXFAST 1 64 0-80 (0 disables fastbins) + M_TRIM_THRESHOLD -1 128*1024 any (-1U disables trimming) + M_TOP_PAD -2 0 any + M_MMAP_THRESHOLD -3 128*1024 any (or 0 if no MMAP support) + M_MMAP_MAX -4 65536 any (0 disables use of mmap) +*/ +int __libc_mallopt(int, int); +#if IS_IN (libc) +libc_hidden_proto (__libc_mallopt) +#endif + /* mallopt tuning options */ /* diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile index 346ec491b3..bd4f6a13b9 100644 --- a/sysdeps/x86/Makefile +++ b/sysdeps/x86/Makefile @@ -19,14 +19,18 @@ ifeq (yes,$(have-ifunc)) ifeq (yes,$(have-gcc-ifunc)) tests += \ tst-ifunc-isa-1 \ - tst-ifunc-isa-1-static \ + tst-ifunc-isa-1-static +tests-static += \ + tst-ifunc-isa-1-static +ifneq ($(have-tunables),no) +tests += \ tst-ifunc-isa-2 \ tst-ifunc-isa-2-static tests-static += \ - tst-ifunc-isa-1-static \ tst-ifunc-isa-2-static endif endif +endif ifeq (yes,$(enable-x86-isa-level)) tests += tst-isa-level-1 modules-names += tst-isa-level-mod-1-baseline \