[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] gnulib: Fix build of base64 when compiling with memory d
From: |
Daniel Kiper |
Subject: |
Re: [PATCH 2/2] gnulib: Fix build of base64 when compiling with memory debugging |
Date: |
Mon, 9 Mar 2020 12:19:15 +0100 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On Sat, Mar 07, 2020 at 05:29:09PM +0100, Patrick Steinhardt wrote:
> When building GRUB with memory management debugging enabled, then the
> build fails because of `grub_debug_malloc()` and `grub_debug_free()`
> being undefined in the luks2 module. The cause is that we patch
> "base64.h" to unconditionaly include "config-util.h", which shouldn't be
> included for modules at all. As a result, `MM_DEBUG` is defined when
> building the module, causing it to use the debug memory allocation
> functions. As these are not built into modules, we end up with a linker
> error.
>
> Fix the issue by removing the <config-util.h> include altogether. The
> sole reason it was included was for the `_GL_ATTRIBUTE_CONST` macro,
> which we can simply define as empty in case it's not set.
>
> Signed-off-by: Patrick Steinhardt <address@hidden>
> ---
> grub-core/lib/gnulib-patches/fix-base64.patch | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/grub-core/lib/gnulib-patches/fix-base64.patch
> b/grub-core/lib/gnulib-patches/fix-base64.patch
> index e075b6fab..985db1279 100644
> --- a/grub-core/lib/gnulib-patches/fix-base64.patch
> +++ b/grub-core/lib/gnulib-patches/fix-base64.patch
> @@ -1,14 +1,8 @@
> diff --git a/lib/base64.h b/lib/base64.h
> -index 9cd0183b8..a2aaa2d4a 100644
> +index 9cd0183b8..185a2afa1 100644
> --- a/lib/base64.h
> +++ b/lib/base64.h
> -@@ -18,11 +18,16 @@
> - #ifndef BASE64_H
> - # define BASE64_H
Hmmm... It seems to me that you should not drop this...
> -
> -+/* Get _GL_ATTRIBUTE_CONST */
> -+# include <config-util.h>
> -+
> +@@ -21,8 +21,14 @@
> /* Get size_t. */
> # include <stddef.h>
>
> @@ -17,6 +11,10 @@ index 9cd0183b8..a2aaa2d4a 100644
> +#ifndef GRUB_POSIX_BOOL_DEFINED
> +typedef enum { false = 0, true = 1 } bool;
> +#define GRUB_POSIX_BOOL_DEFINED 1
> ++#endif
> ++
> ++#ifndef _GL_ATTRIBUTE_CONST
> ++# define _GL_ATTRIBUTE_CONST /* empty */
> +#endif
>
> # ifdef __cplusplus
> --
> 2.25.1
Daniel