gnulib: Drop fix-base64.patch
Originally added in commit 9fbdec2f (bootstrap: Add gnulib's base64 module) and subsequently modified in commit 552c9fd08 (gnulib: Fix build of base64 when compiling with memory debugging), fix-base64.patch handled two problems we have using gnulib, which are exercised by the base64 module but not directly caused by it. First, GRUB defines its own bool type, while gnulib expects the equivalent of stdbool.h to be present. Rather than patching gnulib, instead use gnulib's stdbool module to provide a bool type if needed (suggested by Simon Josefsson). Second, our config.h doesn't always inherit config-util.h, which is where gnulib-related options like _GL_ATTRIBUTE_CONST end up. fix-base64.h worked around this by defining the attribute away, but this workaround is better placed in config.h itself, not a gnulib patch. Signed-off-by: Robbie Harwood <rharwood@redhat.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
2cd52835fc
commit
ea780522e1
@ -35,6 +35,7 @@ gnulib_modules="
|
|||||||
realloc-gnu
|
realloc-gnu
|
||||||
regex
|
regex
|
||||||
save-cwd
|
save-cwd
|
||||||
|
stdbool
|
||||||
"
|
"
|
||||||
|
|
||||||
gnulib_tool_option_extras="\
|
gnulib_tool_option_extras="\
|
||||||
@ -80,7 +81,7 @@ cp -a INSTALL INSTALL.grub
|
|||||||
|
|
||||||
bootstrap_post_import_hook () {
|
bootstrap_post_import_hook () {
|
||||||
set -e
|
set -e
|
||||||
for patchname in fix-base64 fix-null-deref fix-null-state-deref fix-regcomp-uninit-token \
|
for patchname in fix-null-deref fix-null-state-deref fix-regcomp-uninit-token \
|
||||||
fix-regexec-null-deref fix-uninit-structure fix-unused-value fix-width no-abort; do
|
fix-regexec-null-deref fix-uninit-structure fix-unused-value fix-width no-abort; do
|
||||||
patch -d grub-core/lib/gnulib -p2 \
|
patch -d grub-core/lib/gnulib -p2 \
|
||||||
< "grub-core/lib/gnulib-patches/$patchname.patch"
|
< "grub-core/lib/gnulib-patches/$patchname.patch"
|
||||||
|
|||||||
@ -28,7 +28,6 @@ EXTRA_DIST += grub-core/gensymlist.sh
|
|||||||
EXTRA_DIST += grub-core/genemuinit.sh
|
EXTRA_DIST += grub-core/genemuinit.sh
|
||||||
EXTRA_DIST += grub-core/genemuinitheader.sh
|
EXTRA_DIST += grub-core/genemuinitheader.sh
|
||||||
|
|
||||||
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-base64.patch
|
|
||||||
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch
|
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch
|
||||||
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch
|
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch
|
||||||
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch
|
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch
|
||||||
|
|||||||
@ -68,4 +68,8 @@
|
|||||||
|
|
||||||
# define _GNU_SOURCE 1
|
# define _GNU_SOURCE 1
|
||||||
|
|
||||||
|
# ifndef _GL_INLINE_HEADER_BEGIN
|
||||||
|
# define _GL_ATTRIBUTE_CONST __attribute__ ((const))
|
||||||
|
# endif /* !_GL_INLINE_HEADER_BEGIN */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
diff --git a/lib/base64.h b/lib/base64.h
|
|
||||||
index 9cd0183b8..185a2afa1 100644
|
|
||||||
--- a/lib/base64.h
|
|
||||||
+++ b/lib/base64.h
|
|
||||||
@@ -21,8 +21,14 @@
|
|
||||||
/* Get size_t. */
|
|
||||||
# include <stddef.h>
|
|
||||||
|
|
||||||
-/* Get bool. */
|
|
||||||
-# include <stdbool.h>
|
|
||||||
+#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
|
|
||||||
extern "C" {
|
|
||||||
@ -23,11 +23,10 @@
|
|||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
|
/* Provided by gnulib if not present. */
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
typedef grub_ssize_t ssize_t;
|
typedef grub_ssize_t ssize_t;
|
||||||
#ifndef GRUB_POSIX_BOOL_DEFINED
|
|
||||||
typedef enum { false = 0, true = 1 } bool;
|
|
||||||
#define GRUB_POSIX_BOOL_DEFINED 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef grub_uint8_t uint8_t;
|
typedef grub_uint8_t uint8_t;
|
||||||
typedef grub_uint16_t uint16_t;
|
typedef grub_uint16_t uint16_t;
|
||||||
|
|||||||
@ -29,10 +29,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <grub/misc.h>
|
#include <grub/misc.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#ifndef GRUB_POSIX_BOOL_DEFINED
|
|
||||||
typedef enum { false = 0, true = 1 } bool;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enum xz_ret - Return codes
|
* enum xz_ret - Return codes
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user