grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 06/19] configure: properly pass through MM_DEBUG


From: Daniel Kiper
Subject: Re: [PATCH 06/19] configure: properly pass through MM_DEBUG
Date: Thu, 4 Nov 2021 19:00:23 +0100
User-agent: NeoMutt/20170113 (1.7.2)

On Tue, Oct 12, 2021 at 06:29:55PM +1100, Daniel Axtens wrote:
> I noticed that compiling with --enable-mm-debug didn't cause the
> functions in #ifdef MM_DEBUG to be compiled in. Somehow the variable
> wasn't actually being substituted into anything that was built.
>
> Change configure.ac to do AC_SUBST(), and put a substitution into
> config.h.in. This makes MM_DEBUG available to any file which includes
> config.h.
>
> Signed-off-by: Daniel Axtens <dja@axtens.net>
> ---
>  config.h.in  | 3 +++
>  configure.ac | 6 ++++--
>  2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/config.h.in b/config.h.in
> index 9e8f9911b183..8cf62616cad7 100644
> --- a/config.h.in
> +++ b/config.h.in
> @@ -13,6 +13,9 @@
>  #define DISK_CACHE_STATS @DISK_CACHE_STATS@
>  #define BOOT_TIME_STATS @BOOT_TIME_STATS@
>
> +/* Define to 1 to enable mm debugging */
> +#define MM_DEBUG @MM_DEBUG@
> +
>  /* We don't need those.  */
>  #define MINILZO_CFG_SKIP_LZO_PTR 1
>  #define MINILZO_CFG_SKIP_LZO_UTIL 1
> diff --git a/configure.ac b/configure.ac
> index 8d1c81a7316e..889d07b3c1d0 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1511,9 +1511,11 @@ AC_ARG_ENABLE([mm-debug],
>             AS_HELP_STRING([--enable-mm-debug],
>                               [include memory manager debugging]))
>  if test x$enable_mm_debug = xyes; then
> -    AC_DEFINE([MM_DEBUG], [1],
> -            [Define to 1 if you enable memory manager debugging.])
> +    MM_DEBUG=1
> +else
> +    MM_DEBUG=0
>  fi
> +AC_SUBST([MM_DEBUG])

It seems to me this patch is incorrect. The MM_DEBUG constant is properly
defined in config-util.h (config-util.h.in contains "#undef MM_DEBUG")
which is included conditionally from config.h. The key word here is
"conditionally". It means MM_DEBUG is defined when utils are build but
it is not defined when the GRUB itself is build. Of course it does not
make a lot of sense but it is what it is. I think this is due to how
config-util.h and config.h are generated. The former is generated using
AC_CONFIG_HEADER() and the latter is generated using AC_CONFIG_FILES().
I tried to move "#undef MM_DEBUG" to the config.h.in but it does not
help for some reason. If you could investigate this further that would
be perfect...

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]