diff options
author | Siddhesh Poyarekar <siddhesh@sourceware.org> | 2021-07-23 13:57:56 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@sourceware.org> | 2021-07-23 13:57:56 +0530 |
commit | 5b8d271571434a74b2464c278eafe2ff81f31029 (patch) | |
tree | f26246c5541976c4c40740c801f7d42c02b68d44 | |
parent | 9a7ab0769b295cbf5232140401742a8f34bda3de (diff) | |
download | glibc-5b8d271571434a74b2464c278eafe2ff81f31029.zip glibc-5b8d271571434a74b2464c278eafe2ff81f31029.tar.gz glibc-5b8d271571434a74b2464c278eafe2ff81f31029.tar.bz2 |
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 <msc@linux.ibm.com>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
-rw-r--r-- | malloc/arena.c | 5 | ||||
-rw-r--r-- | malloc/malloc-check.c | 2 | ||||
-rw-r--r-- | malloc/malloc.c | 51 | ||||
-rw-r--r-- | sysdeps/x86/Makefile | 8 |
4 files changed, 34 insertions, 32 deletions
diff --git a/malloc/arena.c b/malloc/arena.c index edcaa88..6674846 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 a444c74..8ed67de 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 38b649f..e065785 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -688,31 +688,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 346ec49..bd4f6a1 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 \ |