malloc: Fix mallinfo deprecation declaration

It fixes the build issue below introduced by e3960d1c57 (Add
mallinfo2  function that support sizes >= 4GB).  It moves the
__MALLOC_DEPRECATED to the usual place for function attributes:

  In file included from ../include/malloc.h:3,
                   from ../sysdeps/x86_64/multiarch/../../../test-skeleton.c:31,
                   from ../sysdeps/x86_64/multiarch/test-multiarch.c:96:
  ../malloc/malloc.h:118:1: error: empty declaration [-Werror]
    118 | __MALLOC_DEPRECATED;

It also adds the required deprecated warning suppression on the tests.

Checked on x86_64-linux-gnu.
This commit is contained in:
Adhemerval Zanella 2020-08-31 11:14:01 -03:00
parent 306bdd9983
commit 30e5069c7d
3 changed files with 15 additions and 2 deletions

View File

@ -115,8 +115,7 @@ struct mallinfo2
};
/* Returns a copy of the updated current mallinfo. */
__MALLOC_DEPRECATED;
extern struct mallinfo mallinfo (void) __THROW;
extern struct mallinfo mallinfo (void) __THROW __MALLOC_DEPRECATED;
/* Returns a copy of the updated current mallinfo. */
extern struct mallinfo2 mallinfo2 (void) __THROW;

View File

@ -29,6 +29,7 @@
#include <malloc.h>
#include <pthread.h>
#include <assert.h>
#include <libc-diag.h>
#include <support/check.h>
#include <support/support.h>
@ -72,6 +73,10 @@ do_test (void)
pthread_t required to run the test. */
thread = (pthread_t *) xcalloc (1, sizeof (pthread_t));
/* The test below covers the deprecated mallinfo function. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wdeprecated-declarations");
info_before = mallinfo ();
assert (info_before.uordblks != 0);
@ -104,6 +109,8 @@ do_test (void)
if (info_after.uordblks > (info_before.uordblks + threads))
FAIL_EXIT1 ("Memory usage after threads is too high.\n");
DIAG_POP_NEEDS_COMMENT;
/* Did not detect excessive memory usage. */
free (thread);
exit (0);

View File

@ -21,6 +21,7 @@
the fast bins. */
#include <malloc.h>
#include <libc-diag.h>
#include <support/check.h>
int
@ -36,8 +37,14 @@ do_test (void)
p2 = malloc (512);
free (p1);
/* The test below covers the deprecated mallinfo function. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wdeprecated-declarations");
m = mallinfo ();
DIAG_POP_NEEDS_COMMENT;
/* This will fail if there are any blocks in the fastbins. */
TEST_COMPARE (m.smblks, 0);