Support new mallinfo2 function.

gcc/ChangeLog:

	* config.in: Regenerate.
	* configure: Likewise.
	* configure.ac: Detect for mallinfo2.
	* ggc-common.c (defined): Use it.
	* system.h: Handle also HAVE_MALLINFO2.
This commit is contained in:
Martin Liska 2020-09-01 14:14:45 +02:00
parent 11da31998a
commit 432c551b17
5 changed files with 28 additions and 10 deletions

View File

@ -983,13 +983,19 @@
#endif
/* Define to 1 if we found a declaration for 'mallinfo', otherwise define to
0. */
/* Define to 1 if we found a declaration for 'mallinfo */
#ifndef USED_FOR_TARGET
#undef HAVE_DECL_MALLINFO
#endif
/* Define to 1 if we found a declaration for 'mallinfo2', otherwise define to
0. */
#ifndef USED_FOR_TARGET
#undef HAVE_DECL_MALLINFO2
#endif
/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0.
*/
#ifndef USED_FOR_TARGET
@ -1665,6 +1671,12 @@
#endif
/* Define to 1 if you have the `mallinfo2' function. */
#ifndef USED_FOR_TARGET
#undef HAVE_MALLINFO2
#endif
/* Define to 1 if you have the <malloc.h> header file. */
#ifndef USED_FOR_TARGET
#undef HAVE_MALLOC_H

4
gcc/configure vendored
View File

@ -10120,7 +10120,7 @@ fi
for ac_func in times clock kill getrlimit setrlimit atoq \
popen sysconf strsignal getrusage nl_langinfo \
gettimeofday mbstowcs wcswidth mmap setlocale \
clearerr_unlocked feof_unlocked ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked putchar_unlocked putc_unlocked madvise mallinfo
clearerr_unlocked feof_unlocked ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked putchar_unlocked putc_unlocked madvise mallinfo mallinfo2
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var"
@ -11549,7 +11549,7 @@ fi
done
for ac_func in mallinfo
for ac_func in mallinfo, mallinfo2
do
ac_tr_decl=`$as_echo "HAVE_DECL_$ac_func" | $as_tr_cpp`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $ac_func is declared" >&5

View File

@ -1408,7 +1408,7 @@ define(gcc_UNLOCKED_FUNCS, clearerr_unlocked feof_unlocked dnl
AC_CHECK_FUNCS(times clock kill getrlimit setrlimit atoq \
popen sysconf strsignal getrusage nl_langinfo \
gettimeofday mbstowcs wcswidth mmap setlocale \
gcc_UNLOCKED_FUNCS madvise mallinfo)
gcc_UNLOCKED_FUNCS madvise mallinfo mallinfo2)
if test x$ac_cv_func_mbstowcs = xyes; then
AC_CACHE_CHECK(whether mbstowcs works, gcc_cv_func_mbstowcs_works,
@ -1488,7 +1488,7 @@ gcc_AC_CHECK_DECLS(getrlimit setrlimit getrusage, , ,[
#endif
])
gcc_AC_CHECK_DECLS(mallinfo, , ,[
gcc_AC_CHECK_DECLS([mallinfo, mallinfo2], , ,[
#include "ansidecl.h"
#include "system.h"
#ifdef HAVE_MALLOC_H

View File

@ -1008,13 +1008,19 @@ ggc_prune_overhead_list (void)
}
}
/* Return memory used by heap in kb, 0 if this info is not available. */
/* Print memory used by heap in kb if this info is available. */
void
report_heap_memory_use ()
{
#ifdef HAVE_MALLINFO
#if defined(HAVE_MALLINFO) || defined(HAVE_MALLINFO2)
#ifdef HAVE_MALLINFO2
#define MALLINFO_FN mallinfo2
#else
#define MALLINFO_FN mallinfo
#endif
if (!quiet_flag)
fprintf (stderr," {heap %luk}", (unsigned long)(mallinfo().arena / 1024));
fprintf (stderr," {heap %luk}",
(unsigned long) MALLINFO_FN ().arena / ONE_K);
#endif
}

View File

@ -732,7 +732,7 @@ extern int vsnprintf (char *, size_t, const char *, va_list);
#endif
#ifdef INCLUDE_MALLOC_H
#ifdef HAVE_MALLINFO
#if defined(HAVE_MALLINFO) || defined(HAVE_MALLINFO2)
#include <malloc.h>
#endif
#endif