|
|
b35c50 |
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
b35c50 |
From: Robbie Harwood <rharwood@redhat.com>
|
|
|
b35c50 |
Date: Thu, 28 Oct 2021 15:07:50 -0400
|
|
|
b35c50 |
Subject: [PATCH] Drop gnulib fix-base64.patch
|
|
|
b35c50 |
|
|
|
b35c50 |
Originally added in 9fbdec2f6b4fa8b549daa4d49134d1fe89d95ef9 and
|
|
|
b35c50 |
subsequently modified in 552c9fd08122a3036c724ce96dfe68aa2f75705f,
|
|
|
b35c50 |
fix-base64.patch handled two problems we have using gnulib, which are
|
|
|
b35c50 |
exerciesd by the base64 module but not directly caused by it.
|
|
|
b35c50 |
|
|
|
b35c50 |
First, grub2 defines its own bool type, while gnulib expects the
|
|
|
b35c50 |
equivalent of stdbool.h to be present. Rather than patching gnulib,
|
|
|
b35c50 |
instead use gnulib's stdbool module to provide a bool type if needed.
|
|
|
b35c50 |
(Suggested by Simon Josefsson.)
|
|
|
b35c50 |
|
|
|
b35c50 |
Second, our config.h doesn't always inherit config-util.h, which is
|
|
|
b35c50 |
where gnulib-related options like _GL_ATTRIBUTE_CONST end up.
|
|
|
b35c50 |
fix-base64.h worked around this by defining the attribute away, but this
|
|
|
b35c50 |
workaround is better placed in config.h itself, not a gnulib patch.
|
|
|
b35c50 |
|
|
|
b35c50 |
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
|
|
|
b35c50 |
(cherry picked from commit 54fd1c3301dd15f6b6212c12887265e8a6cbc076)
|
|
|
b35c50 |
---
|
|
|
b35c50 |
grub-core/lib/posix_wrap/sys/types.h | 7 +++----
|
|
|
b35c50 |
grub-core/lib/xzembed/xz.h | 5 +----
|
|
|
b35c50 |
bootstrap.conf | 3 ++-
|
|
|
b35c50 |
conf/Makefile.extra-dist | 1 -
|
|
|
b35c50 |
config.h.in | 4 ++++
|
|
|
b35c50 |
grub-core/lib/gnulib-patches/fix-base64.patch | 21 ---------------------
|
|
|
b35c50 |
6 files changed, 10 insertions(+), 31 deletions(-)
|
|
|
b35c50 |
delete mode 100644 grub-core/lib/gnulib-patches/fix-base64.patch
|
|
|
b35c50 |
|
|
|
b35c50 |
diff --git a/grub-core/lib/posix_wrap/sys/types.h b/grub-core/lib/posix_wrap/sys/types.h
|
|
|
b35c50 |
index f63412c8da..2f3e865495 100644
|
|
|
b35c50 |
--- a/grub-core/lib/posix_wrap/sys/types.h
|
|
|
b35c50 |
+++ b/grub-core/lib/posix_wrap/sys/types.h
|
|
|
b35c50 |
@@ -23,11 +23,10 @@
|
|
|
b35c50 |
|
|
|
b35c50 |
#include <stddef.h>
|
|
|
b35c50 |
|
|
|
b35c50 |
+/* Provided by gnulib if not present. */
|
|
|
b35c50 |
+#include <stdbool.h>
|
|
|
b35c50 |
+
|
|
|
b35c50 |
typedef grub_ssize_t ssize_t;
|
|
|
b35c50 |
-#ifndef GRUB_POSIX_BOOL_DEFINED
|
|
|
b35c50 |
-typedef enum { false = 0, true = 1 } bool;
|
|
|
b35c50 |
-#define GRUB_POSIX_BOOL_DEFINED 1
|
|
|
b35c50 |
-#endif
|
|
|
b35c50 |
|
|
|
b35c50 |
typedef grub_uint8_t uint8_t;
|
|
|
b35c50 |
typedef grub_uint16_t uint16_t;
|
|
|
b35c50 |
diff --git a/grub-core/lib/xzembed/xz.h b/grub-core/lib/xzembed/xz.h
|
|
|
b35c50 |
index f7b32d8003..d1417039aa 100644
|
|
|
b35c50 |
--- a/grub-core/lib/xzembed/xz.h
|
|
|
b35c50 |
+++ b/grub-core/lib/xzembed/xz.h
|
|
|
b35c50 |
@@ -29,10 +29,7 @@
|
|
|
b35c50 |
#include <unistd.h>
|
|
|
b35c50 |
#include <string.h>
|
|
|
b35c50 |
#include <grub/misc.h>
|
|
|
b35c50 |
-
|
|
|
b35c50 |
-#ifndef GRUB_POSIX_BOOL_DEFINED
|
|
|
b35c50 |
-typedef enum { false = 0, true = 1 } bool;
|
|
|
b35c50 |
-#endif
|
|
|
b35c50 |
+#include <stdbool.h>
|
|
|
b35c50 |
|
|
|
b35c50 |
/**
|
|
|
b35c50 |
* enum xz_ret - Return codes
|
|
|
b35c50 |
diff --git a/bootstrap.conf b/bootstrap.conf
|
|
|
b35c50 |
index 52d4af44be..645e3a459c 100644
|
|
|
b35c50 |
--- a/bootstrap.conf
|
|
|
b35c50 |
+++ b/bootstrap.conf
|
|
|
b35c50 |
@@ -35,6 +35,7 @@ gnulib_modules="
|
|
|
b35c50 |
realloc-gnu
|
|
|
b35c50 |
regex
|
|
|
b35c50 |
save-cwd
|
|
|
b35c50 |
+ stdbool
|
|
|
b35c50 |
"
|
|
|
b35c50 |
|
|
|
b35c50 |
gnulib_tool_option_extras="\
|
|
|
b35c50 |
@@ -79,7 +80,7 @@ cp -a INSTALL INSTALL.grub
|
|
|
b35c50 |
|
|
|
b35c50 |
bootstrap_post_import_hook () {
|
|
|
b35c50 |
set -e
|
|
|
b35c50 |
- for patchname in fix-base64 fix-null-deref fix-null-state-deref fix-regcomp-uninit-token \
|
|
|
b35c50 |
+ for patchname in fix-null-deref fix-null-state-deref fix-regcomp-uninit-token \
|
|
|
b35c50 |
fix-regexec-null-deref fix-uninit-structure fix-unused-value fix-width no-abort; do
|
|
|
b35c50 |
patch -d grub-core/lib/gnulib -p2 \
|
|
|
b35c50 |
< "grub-core/lib/gnulib-patches/$patchname.patch"
|
|
|
b35c50 |
diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist
|
|
|
b35c50 |
index ad235de7fc..f4791dc6ca 100644
|
|
|
b35c50 |
--- a/conf/Makefile.extra-dist
|
|
|
b35c50 |
+++ b/conf/Makefile.extra-dist
|
|
|
b35c50 |
@@ -31,7 +31,6 @@ EXTRA_DIST += grub-core/gensymlist.sh
|
|
|
b35c50 |
EXTRA_DIST += grub-core/genemuinit.sh
|
|
|
b35c50 |
EXTRA_DIST += grub-core/genemuinitheader.sh
|
|
|
b35c50 |
|
|
|
b35c50 |
-EXTRA_DIST += grub-core/lib/gnulib-patches/fix-base64.patch
|
|
|
b35c50 |
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-deref.patch
|
|
|
b35c50 |
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-null-state-deref.patch
|
|
|
b35c50 |
EXTRA_DIST += grub-core/lib/gnulib-patches/fix-regcomp-uninit-token.patch
|
|
|
b35c50 |
diff --git a/config.h.in b/config.h.in
|
|
|
b35c50 |
index f2ed0066ec..9c7b4afaaa 100644
|
|
|
b35c50 |
--- a/config.h.in
|
|
|
b35c50 |
+++ b/config.h.in
|
|
|
b35c50 |
@@ -66,4 +66,8 @@
|
|
|
b35c50 |
|
|
|
b35c50 |
# define _GNU_SOURCE 1
|
|
|
b35c50 |
|
|
|
b35c50 |
+# ifndef _GL_INLINE_HEADER_BEGIN
|
|
|
b35c50 |
+# define _GL_ATTRIBUTE_CONST __attribute__ ((const))
|
|
|
b35c50 |
+# endif /* !_GL_INLINE_HEADER_BEGIN */
|
|
|
b35c50 |
+
|
|
|
b35c50 |
#endif
|
|
|
b35c50 |
diff --git a/grub-core/lib/gnulib-patches/fix-base64.patch b/grub-core/lib/gnulib-patches/fix-base64.patch
|
|
|
b35c50 |
deleted file mode 100644
|
|
|
b35c50 |
index 985db12797..0000000000
|
|
|
b35c50 |
--- a/grub-core/lib/gnulib-patches/fix-base64.patch
|
|
|
b35c50 |
+++ /dev/null
|
|
|
b35c50 |
@@ -1,21 +0,0 @@
|
|
|
b35c50 |
-diff --git a/lib/base64.h b/lib/base64.h
|
|
|
b35c50 |
-index 9cd0183b8..185a2afa1 100644
|
|
|
b35c50 |
---- a/lib/base64.h
|
|
|
b35c50 |
-+++ b/lib/base64.h
|
|
|
b35c50 |
-@@ -21,8 +21,14 @@
|
|
|
b35c50 |
- /* Get size_t. */
|
|
|
b35c50 |
- # include <stddef.h>
|
|
|
b35c50 |
-
|
|
|
b35c50 |
--/* Get bool. */
|
|
|
b35c50 |
--# include <stdbool.h>
|
|
|
b35c50 |
-+#ifndef GRUB_POSIX_BOOL_DEFINED
|
|
|
b35c50 |
-+typedef enum { false = 0, true = 1 } bool;
|
|
|
b35c50 |
-+#define GRUB_POSIX_BOOL_DEFINED 1
|
|
|
b35c50 |
-+#endif
|
|
|
b35c50 |
-+
|
|
|
b35c50 |
-+#ifndef _GL_ATTRIBUTE_CONST
|
|
|
b35c50 |
-+# define _GL_ATTRIBUTE_CONST /* empty */
|
|
|
b35c50 |
-+#endif
|
|
|
b35c50 |
-
|
|
|
b35c50 |
- # ifdef __cplusplus
|
|
|
b35c50 |
- extern "C" {
|