grub-devel
[Top][All Lists]
Advanced

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

[PATCH 2/2] gnulib: Fix build of base64 when compiling with memory debug


From: Patrick Steinhardt
Subject: [PATCH 2/2] gnulib: Fix build of base64 when compiling with memory debugging
Date: Sat, 7 Mar 2020 17:29:09 +0100

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
- 
-+/* 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




reply via email to

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