linux: Fail as unsupported if personality call is filtered
[glibc.git] / malloc / tst-mxfast.c
blob61555dbccf180625561e7790bc2e9ef73dcf27ae
1 /* Test that glibc.malloc.mxfast tunable works.
2 Copyright (C) 2019-2023 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
19 /* This test verifies that setting the glibc.malloc.mxfast tunable to
20 zero results in free'd blocks being returned to the small bins, not
21 the fast bins. */
23 #include <malloc.h>
24 #include <libc-diag.h>
25 #include <support/check.h>
27 int
28 do_test (void)
30 struct mallinfo m;
31 char *volatile p1;
32 char *volatile p2;
34 /* Arbitrary value; must be in default fastbin range. */
35 p1 = malloc (3);
36 /* Something large so that p1 isn't a "top block" */
37 p2 = malloc (512);
38 free (p1);
40 /* The test below covers the deprecated mallinfo function. */
41 DIAG_PUSH_NEEDS_COMMENT;
42 DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wdeprecated-declarations");
44 m = mallinfo ();
46 DIAG_POP_NEEDS_COMMENT;
48 /* This will fail if there are any blocks in the fastbins. */
49 TEST_COMPARE (m.smblks, 0);
51 /* To keep gcc happy. */
52 free (p2);
54 return 0;
57 #include <support/test-driver.c>