On 9/2/20 7:28 AM, Martin Liška wrote: > On 9/1/20 2:31 PM, Martin Liška wrote: >> Hey. >> >> I've just applied to patches to glibc introducing a new mallinfo2 >> function. >> Limitation of the current function mallinfo is usage of int type >> which overflows >> for allocation > 2GB. >> >> The patch adds configure detection and usage of the new one. And it >> prints heap usage >> in MiB. >> >> Ready to be installed after tests? >> Thanks, >> Martin > > All right, there's V2 where I just support mallinfo2. > > Martin > > 0001-Support-new-mallinfo2-function.patch > > From bdb6dcf8fbd51a9dc62e6a50a7eeedc734c130f9 Mon Sep 17 00:00:00 2001 > From: Martin Liska <mli...@suse.cz> > Date: Tue, 1 Sep 2020 14:14:45 +0200 > Subject: [PATCH 1/3] 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. > --- > gcc/config.in | 16 ++++++++++++++-- > gcc/configure | 4 ++-- > gcc/configure.ac | 4 ++-- > gcc/ggc-common.c | 12 +++++++++--- > gcc/system.h | 2 +- > 5 files changed, 28 insertions(+), 10 deletions(-) > > diff --git a/gcc/config.in b/gcc/config.in > index 478e74fac02..1832c112ed9 100644 > --- a/gcc/config.in > +++ b/gcc/config.in > @@ -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 > diff --git a/gcc/configure b/gcc/configure > index 0f7a8dbe0f9..b8b9bd3505b 100755 > --- a/gcc/configure > +++ b/gcc/configure > @@ -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 > diff --git a/gcc/configure.ac b/gcc/configure.ac > index 0f11238c19f..18640fdb8a5 100644 > --- a/gcc/configure.ac > +++ b/gcc/configure.ac > @@ -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 > diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c > index 94da02f1185..b8782c5824b 100644 > --- a/gcc/ggc-common.c > +++ b/gcc/ggc-common.c > @@ -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 not available. */
This comment seems wrong... OK with the comment fixed. jeff
pEpkey.asc
Description: application/pgp-keys