Support new mallinfo2 function.
authorMartin Liska <mliska@suse.cz>
Tue, 1 Sep 2020 12:14:45 +0000 (14:14 +0200)
committerMartin Liska <mliska@suse.cz>
Mon, 21 Sep 2020 08:09:26 +0000 (10:09 +0200)
gcc/ChangeLog:

* config.in: Regenerate.
* configure: Likewise.
* configure.ac: Detect for mallinfo2.
* ggc-common.c (defined): Use it.
* system.h: Handle also HAVE_MALLINFO2.

gcc/config.in
gcc/configure
gcc/configure.ac
gcc/ggc-common.c
gcc/system.h

index 478e74fac0221a7eb84eb9ec9aa4663d01e46ff0..1832c112ed918731eda49efec876876f1a9df5b3 100644 (file)
 #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
 #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
index 0a09777dd427af0cce2c6afd5376fe6bbda534f4..d33ee9fc5d2c08689de119642c9d57609c7a9549 100755 (executable)
@@ -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
index 6a233a3c7062cc4c26f0fb168b4b5ad5bb05901e..fedb7b2800fef1588c0b1bf426b132acda1cd45f 100644 (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
index 94da02f11857589d3b731c44c06af766b3d17e95..6f8da300970ebec268fd50abe186091ba5d50273 100644 (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
 }
index 3c543a005d856997ae5792133b3e89db2cded92b..4f0482be25d7b06ad329afef17ee02bbd3c16620 100644 (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