Rebased to newer f24 code

Signed-off-by: Peter Jones <pjones@redhat.com>
This commit is contained in:
Peter Jones 2016-04-07 10:44:51 -04:00
parent 0ac23e2378
commit 1713515a59
29 changed files with 221 additions and 162 deletions

View file

@ -1,4 +1,4 @@
From 93653ab62a8c139654fc798fc4c7d74db267b2ee Mon Sep 17 00:00:00 2001
From f14de1eb2cbd8aa451a231c9000f157a6e29b093 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 6 Oct 2015 16:09:25 -0400
Subject: [PATCH 70/88] Make any of the loaders that link in efi mode honor
@ -24,9 +24,11 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
grub-core/loader/xnu.c | 7 +++++
include/grub/efi/efi.h | 1 -
include/grub/efi/sb.h | 29 +++++++++++++++++++
15 files changed, 146 insertions(+), 29 deletions(-)
include/grub/powerpc/linux.h | 23 +++++++++++++++
16 files changed, 169 insertions(+), 29 deletions(-)
create mode 100644 grub-core/kern/efi/sb.c
create mode 100644 include/grub/efi/sb.h
create mode 100644 include/grub/powerpc/linux.h
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am
index 04e9395..fd715a8 100644
@ -469,6 +471,35 @@ index 0000000..9629fbb
+int EXPORT_FUNC (grub_efi_secure_boot) (void);
+
+#endif /* ! GRUB_EFI_SB_HEADER */
diff --git a/include/grub/powerpc/linux.h b/include/grub/powerpc/linux.h
new file mode 100644
index 0000000..6cecb2e
--- /dev/null
+++ b/include/grub/powerpc/linux.h
@@ -0,0 +1,23 @@
+/* linux.h - PowerPC linux specific definitions */
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2013 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GRUB_LINUX_CPU_HEADER
+#define GRUB_LINUX_CPU_HEADER 1
+
+#endif /* ! GRUB_LINUX_CPU_HEADER */
--
2.5.5

View file

@ -1,4 +1,4 @@
From 115128428dfd5552605152180ebe227d4b1e7b4e Mon Sep 17 00:00:00 2001
From a350e596100ebdea5f698f81a58332118aee9841 Mon Sep 17 00:00:00 2001
From: Hector Marco-Gisbert <hecmargi@upv.es>
Date: Fri, 13 Nov 2015 16:21:09 +0100
Subject: [PATCH 71/88] Fix security issue when reading username and password

View file

@ -1,4 +1,4 @@
From 2a3ab6ddcff1015e9c6df6a1f61779d581e9a26d Mon Sep 17 00:00:00 2001
From 8deb795073874f4f2153a6e26bfe3fb8dd03a301 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Fri, 4 Dec 2015 09:28:38 -0500
Subject: [PATCH 72/88] 01_users: Handle GRUB_PASSWORD better.

View file

@ -1,4 +1,4 @@
From 4fa25a258abddce2c1c8a27decc4b9f554f731b8 Mon Sep 17 00:00:00 2001
From 5517beacf74d58f5f80b0ca8b9b739ef4594930d Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Tue, 14 Jul 2015 17:06:35 -0700
Subject: [PATCH 73/88] Core TPM support

View file

@ -1,4 +1,4 @@
From d24a5cf53175a3498b9c67a97ca6ad5604d0a678 Mon Sep 17 00:00:00 2001
From ef38c89ec0a5898df9e9d50707baa3e705d60921 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Thu, 16 Jul 2015 15:22:34 -0700
Subject: [PATCH 74/88] Measure kernel + initrd

View file

@ -1,4 +1,4 @@
From 69b26d3068903f543e0a7ba949c76d63467b10d5 Mon Sep 17 00:00:00 2001
From 4990275dd9084a0ad3e544a5ca841b8cd0e06254 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Sun, 9 Aug 2015 15:48:51 -0700
Subject: [PATCH 75/88] Add BIOS boot measurement

View file

@ -1,4 +1,4 @@
From 47beae47e49806881000c479a5912d3bf2990da4 Mon Sep 17 00:00:00 2001
From 7774b9780271782da56834b49f4f4ffd8e5b40c4 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Sun, 9 Aug 2015 16:12:39 -0700
Subject: [PATCH 76/88] Rework linux command

View file

@ -1,4 +1,4 @@
From 4cd88ca039d62e64ee4ccbe46a4ea3500a70a6be Mon Sep 17 00:00:00 2001
From a696b8eb6ea6e5a2a17b697f8b8f9ed0a57a0a96 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Sun, 9 Aug 2015 16:20:58 -0700
Subject: [PATCH 77/88] Rework linux16 command

View file

@ -1,4 +1,4 @@
From 05f686df4b9a012035854b082bb4c3b7c745da28 Mon Sep 17 00:00:00 2001
From 443457897a9b415e6b7f7f41e93f78947b15d206 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Sun, 9 Aug 2015 16:28:29 -0700
Subject: [PATCH 78/88] Measure kernel and initrd on BIOS systems

View file

@ -1,4 +1,4 @@
From 2ab937cba72f43241667db08b5e36cd31a77f331 Mon Sep 17 00:00:00 2001
From 484cfd345f144e98639816de5c28696a1085f06f Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Sun, 9 Aug 2015 16:32:29 -0700
Subject: [PATCH 79/88] Measure the kernel commandline

View file

@ -1,4 +1,4 @@
From e3aae28751e0f0128d877ed25b28d4d2f875b71a Mon Sep 17 00:00:00 2001
From e6dbf1fb12a951b9d3c3e19b80852ce6c53b516c Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@srcf.ucam.org>
Date: Mon, 10 Aug 2015 15:27:12 -0700
Subject: [PATCH 80/88] Measure commands

View file

@ -1,4 +1,4 @@
From ee0acf80b073cf652a949673bd750e7a9a302d37 Mon Sep 17 00:00:00 2001
From cdcff708c76890986b9e3ae9be084da6b152adde Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Tue, 1 Sep 2015 16:02:55 -0700
Subject: [PATCH 81/88] Measure multiboot images and modules

View file

@ -1,4 +1,4 @@
From 1c4338a7d3921e18364c696c679e77e23e7193b3 Mon Sep 17 00:00:00 2001
From 0b2a179c9e1da39556fffd6a70ced539e41652e5 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Fri, 4 Mar 2016 16:29:13 -0500
Subject: [PATCH 82/88] Make grub-editenv build again.

View file

@ -1,4 +1,4 @@
From d477086463fd9ea61a3df4b55a4adde56c386215 Mon Sep 17 00:00:00 2001
From ee96c8d2dc827a1a4016bc9641d01b95c82155dd Mon Sep 17 00:00:00 2001
From: Robert Marshall <rmarshall@redhat.com>
Date: Fri, 29 Jan 2016 17:34:02 -0500
Subject: [PATCH 83/88] Fix locale issue in grub-setpassword (#1294243)

View file

@ -1,4 +1,4 @@
From b4e66576c9fd1602aeb924b13cdc39d8c59a4255 Mon Sep 17 00:00:00 2001
From 30a9147b7c93cbfd673fb0811d2e0f22b98cc498 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 23 Sep 2014 09:58:49 -0400
Subject: [PATCH 84/88] Fix up some man pages rpmdiff noticed.

View file

@ -1,4 +1,4 @@
From 54d0f8d24fc634b71e8525703a6eea8c23f4c9e5 Mon Sep 17 00:00:00 2001
From e78fda79e6171ab84d1d332197e46455b695f259 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 30 Jun 2015 15:50:41 -0400
Subject: [PATCH 85/88] Handle rssd storage devices.

View file

@ -1,4 +1,4 @@
From a9c95bf3bb50ee171c80e9fe643da618afa8fdf9 Mon Sep 17 00:00:00 2001
From d06b75f95d8d61d55b4af0b0dcb0c6717fe228d0 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Wed, 23 Mar 2016 16:49:42 -0700
Subject: [PATCH 86/88] Fix boot when there's no TPM

View file

@ -1,4 +1,4 @@
From 1388967d903a07c92a39fa4e8573f7ba12f45357 Mon Sep 17 00:00:00 2001
From dd5035e338e7362db6ef5560e3dff09a255ef797 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Wed, 23 Mar 2016 17:03:43 -0700
Subject: [PATCH 87/88] Rework TPM measurements

View file

@ -1,4 +1,4 @@
From 3fded5274e9d0968fac6d37ee16f2f2d53b8594d Mon Sep 17 00:00:00 2001
From 84b0d0562f890820097726827e98f27a789011fc Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Tue, 29 Mar 2016 15:36:49 -0700
Subject: [PATCH 88/88] Fix event log prefix

View file

@ -1,7 +1,7 @@
From b29ab8b194e3543aa481568e4af0e9ffbad01636 Mon Sep 17 00:00:00 2001
From 1b2af2de1b5d9d5780cf6803124c18f460466c3c Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 21 Jul 2015 20:30:00 -0400
Subject: [PATCH 1/6] Put the correct .file directives in our .S files.
Subject: [PATCH 10001/10006] Put the correct .file directives in our .S files.
The wrong path makes generating debuginfo not work correctly.
@ -41,10 +41,10 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
31 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/grub-core/boot/i386/pc/boot.S b/grub-core/boot/i386/pc/boot.S
index ea167fe..96ced2f 100644
index c1df86d..8eb8fc8 100644
--- a/grub-core/boot/i386/pc/boot.S
+++ b/grub-core/boot/i386/pc/boot.S
@@ -108,7 +108,7 @@ cylinder_start:
@@ -112,7 +112,7 @@ cylinder_start:
/* more space... */
.endm
@ -67,10 +67,10 @@ index de4f809..d30b4be 100644
#define CODE_ADDR 0x6000
#define DATA_ADDR ((GRUB_BOOT_MACHINE_KERNEL_ADDR) + 0x200)
diff --git a/grub-core/boot/i386/pc/diskboot.S b/grub-core/boot/i386/pc/diskboot.S
index c8b87ed..14c6d83 100644
index 05dd7fa..9c0b32a 100644
--- a/grub-core/boot/i386/pc/diskboot.S
+++ b/grub-core/boot/i386/pc/diskboot.S
@@ -25,7 +25,7 @@
@@ -27,7 +27,7 @@
#define MSG(x) movw $x, %si; call LOCAL(message)
@ -360,7 +360,7 @@ index a5373d3..6f58685 100644
GRUB_MOD_LICENSE "GPLv3+"
diff --git a/grub-core/lib/arm64/setjmp.S b/grub-core/lib/arm64/setjmp.S
index eabfd99..006660b 100644
index ffcabf6..7755d06 100644
--- a/grub-core/lib/arm64/setjmp.S
+++ b/grub-core/lib/arm64/setjmp.S
@@ -19,7 +19,7 @@
@ -399,12 +399,12 @@ index a0382d8..dba2cbf 100644
GRUB_MOD_LICENSE "GPLv2+"
diff --git a/grub-core/lib/mips/setjmp.S b/grub-core/lib/mips/setjmp.S
index f012945..365824c 100644
index 895235b..fa9c16e 100644
--- a/grub-core/lib/mips/setjmp.S
+++ b/grub-core/lib/mips/setjmp.S
@@ -19,7 +19,7 @@
#include <grub/symbol.h>
@@ -20,7 +20,7 @@
#include <grub/dl.h>
#include <grub/mips/asm.h>
- .file "setjmp.S"
+ .file "grub-core/lib/mips/setjmp.S"
@ -451,5 +451,5 @@ index 6b151bc..c975897 100644
GRUB_MOD_LICENSE "GPLv3+"
--
2.4.3
2.5.0

View file

@ -1,79 +0,0 @@
From 5804ce3d46ef5792ea4aa53e1460c341137961e9 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 25 Jun 2015 11:59:09 -0400
Subject: [PATCH 2/6] Make efi machines load an env block from a variable
Signed-off-by: Peter Jones <pjones@redhat.com>
---
grub-core/Makefile.core.def | 1 +
grub-core/kern/efi/init.c | 32 ++++++++++++++++++++++++++++++++
2 files changed, 33 insertions(+)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 38291ce..b3ba5ed 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -174,6 +174,7 @@ kernel = {
efi = kern/efi/init.c;
efi = kern/efi/mm.c;
efi = term/efi/console.c;
+ efi = lib/envblk.c;
x86 = kern/i386/tsc.c;
diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c
index e9c85de..d17d18e 100644
--- a/grub-core/kern/efi/init.c
+++ b/grub-core/kern/efi/init.c
@@ -25,9 +25,40 @@
#include <grub/env.h>
#include <grub/mm.h>
#include <grub/kernel.h>
+#include <grub/lib/envblk.h>
grub_addr_t grub_modbase;
+#define GRUB_EFI_GRUB_VARIABLE_GUID \
+ { 0x91376aff, 0xcba6, 0x42be, \
+ { 0x94, 0x9d, 0x06, 0xfd, 0xe8, 0x11, 0x28, 0xe8 } \
+ }
+
+/* Helper for grub_efi_env_init */
+static int
+set_var (const char *name, const char *value,
+ void *whitelist __attribute__((__unused__)))
+{
+ grub_env_set (name, value);
+ return 0;
+}
+
+static void
+grub_efi_env_init (void)
+{
+ grub_efi_guid_t efi_grub_guid = GRUB_EFI_GRUB_VARIABLE_GUID;
+ struct grub_envblk envblk_s = { NULL, 0 };
+ grub_envblk_t envblk = &envblk_s;
+
+ envblk_s.buf = grub_efi_get_variable ("GRUB_ENV", &efi_grub_guid,
+ &envblk_s.size);
+ if (!envblk_s.buf || envblk_s.size < 1)
+ return;
+
+ grub_envblk_iterate (envblk, NULL, set_var);
+ grub_free (envblk_s.buf);
+}
+
void
grub_efi_init (void)
{
@@ -42,6 +73,7 @@ grub_efi_init (void)
efi_call_4 (grub_efi_system_table->boot_services->set_watchdog_timer,
0, 0, 0, NULL);
+ grub_efi_env_init ();
grub_efidisk_init ();
}
--
2.4.3

View file

@ -1,7 +1,7 @@
From bdcd66a767a861370e55a3c2d624383a1f2ec2f5 Mon Sep 17 00:00:00 2001
From 5334ed8ae9c8f15928139be986a1e877e9837630 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 25 Jun 2015 15:41:06 -0400
Subject: [PATCH 3/6] Make it possible to enabled --build-id=sha1
Subject: [PATCH 10002/10006] Make it possible to enabled --build-id=sha1
Signed-off-by: Peter Jones <pjones@redhat.com>
---
@ -10,7 +10,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
2 files changed, 27 insertions(+)
diff --git a/acinclude.m4 b/acinclude.m4
index 609c4f2..8dd0989 100644
index 526f97a..48ccecc 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -136,6 +136,25 @@ if test "x$grub_cv_prog_ld_build_id_none" = xyes; then
@ -40,10 +40,10 @@ index 609c4f2..8dd0989 100644
AC_DEFUN([grub_PROG_NM_WORKS],
[AC_MSG_CHECKING([whether nm works])
diff --git a/configure.ac b/configure.ac
index 991cb15..8d780e3 100644
index d6ef6c3..3e897bd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1202,7 +1202,15 @@ grub_PROG_TARGET_CC
@@ -1323,7 +1323,15 @@ grub_PROG_TARGET_CC
if test "x$TARGET_APPLE_LINKER" != x1 ; then
grub_PROG_OBJCOPY_ABSOLUTE
fi
@ -60,5 +60,5 @@ index 991cb15..8d780e3 100644
if test "$platform" != emu && test "x$TARGET_APPLE_LINKER" != x1 ; then
if test ! -z "$TARGET_IMG_LDSCRIPT"; then
--
2.4.3
2.5.0

View file

@ -1,14 +1,15 @@
From 22ba237a041b493cd0b7bb3e1c3fcd0a34dbdc2d Mon Sep 17 00:00:00 2001
From ddc6702d0b258e12f67f0df7c3c915a04ede1067 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Sun, 28 Jun 2015 17:57:24 -0400
Subject: [PATCH 4/6] Don't tell the compiler to do annoying things with -f.
Subject: [PATCH 10003/10006] Don't tell the compiler to do annoying things
with -f.
---
configure.ac | 34 ++--------------------------------
1 file changed, 2 insertions(+), 32 deletions(-)
configure.ac | 48 ++----------------------------------------------
1 file changed, 2 insertions(+), 46 deletions(-)
diff --git a/configure.ac b/configure.ac
index 8d780e3..5e2529a 100644
index 3e897bd..65f7f43 100644
--- a/configure.ac
+++ b/configure.ac
@@ -548,8 +548,8 @@ LDFLAGS="$TARGET_LDFLAGS"
@ -22,7 +23,7 @@ index 8d780e3..5e2529a 100644
if test "x$target_cpu" != xi386 && test "x$target_cpu" != xx86_64; then
TARGET_CFLAGS="$TARGET_CFLAGS -Wcast-align"
@@ -809,21 +809,6 @@ if test x"$target_cpu" = xsparc64 ; then
@@ -908,21 +908,6 @@ if test x"$target_cpu" = xsparc64 ; then
TARGET_LDFLAGS="$TARGET_LDFLAGS $grub_cv_target_cc_mno_relax"
fi
@ -44,16 +45,17 @@ index 8d780e3..5e2529a 100644
if test x"$target_os" = xcygwin; then
AC_CACHE_CHECK([whether option -fno-reorder-functions works], grub_cv_cc_no_reorder_functions, [
CFLAGS="$TARGET_CFLAGS -fno-reorder-functions"
@@ -837,21 +822,6 @@ if test x"$target_os" = xcygwin && test "x$grub_cv_cc_no_reorder_functions" = xy
TARGET_CFLAGS="$TARGET_CFLAGS -fno-reorder-functions"
@@ -947,37 +932,8 @@ if test "x$grub_cv_cc_mno_stack_arg_probe" = xyes; then
TARGET_CFLAGS="$TARGET_CFLAGS -mno-stack-arg-probe"
fi
-
-# By default, GCC 4.6 generates .eh_frame sections containing unwind
-# information in some cases where it previously did not. GRUB doesn't need
-# these and they just use up vital space. Restore the old compiler
-# behaviour.
-AC_CACHE_CHECK([whether -fno-asynchronous-unwind-tables works], [grub_cv_cc_fno_asynchronous_unwind_tables], [
- CFLAGS="$TARGET_CFLAGS -fno-dwarf2-cfi-asm"
- CFLAGS="$TARGET_CFLAGS -fno-asynchronous-unwind-tables"
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
- [grub_cv_cc_fno_asynchronous_unwind_tables=yes],
- [grub_cv_cc_fno_asynchronous_unwind_tables=no])
@ -63,9 +65,24 @@ index 8d780e3..5e2529a 100644
- TARGET_CFLAGS="$TARGET_CFLAGS -fno-asynchronous-unwind-tables"
-fi
-
AC_ARG_ENABLE([efiemu],
[AS_HELP_STRING([--enable-efiemu],
[build and install the efiemu runtimes (default=guessed)])])
-AC_CACHE_CHECK([whether -fno-unwind-tables works], [grub_cv_cc_fno_unwind_tables], [
- CFLAGS="$TARGET_CFLAGS -fno-unwind-tables"
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
- [grub_cv_cc_fno_unwind_tables=yes],
- [grub_cv_cc_fno_unwind_tables=no])
-])
-
-if test "x$grub_cv_cc_fno_unwind_tables" = xyes; then
- TARGET_CFLAGS="$TARGET_CFLAGS -fno-unwind-tables"
-fi
-
-
CFLAGS="$TARGET_CFLAGS"
-
if test x"$platform" = xemu ; then
TARGET_OBJ2ELF=
grub_cv_target_cc_link_format=
--
2.4.3
2.5.0

View file

@ -1,7 +1,7 @@
From fa89f53a982350e80fcabbceb8c7066636b30761 Mon Sep 17 00:00:00 2001
From 5e50fc35ba1c2f03cc9ccbd6ae2f49dcb0ffd560 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Sun, 28 Jun 2015 13:09:58 -0400
Subject: [PATCH 5/6] Add grub_qdprintf() - grub_dprintf() without the
Subject: [PATCH 10004/10006] Add grub_qdprintf() - grub_dprintf() without the
file+line number.
This just makes copy+paste of our debug loading info easier.
@ -13,10 +13,10 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
2 files changed, 20 insertions(+)
diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
index be6aa63..71f597d 100644
index d7dcd97..8e12a62 100644
--- a/grub-core/kern/misc.c
+++ b/grub-core/kern/misc.c
@@ -178,6 +178,24 @@ grub_real_dprintf (const char *file, const int line, const char *condition,
@@ -179,6 +179,24 @@ grub_real_dprintf (const char *file, const int line, const char *condition,
}
}
@ -42,7 +42,7 @@ index be6aa63..71f597d 100644
int
diff --git a/include/grub/misc.h b/include/grub/misc.h
index 2a9f87c..da44520 100644
index 0620814..4cb1ba5 100644
--- a/include/grub/misc.h
+++ b/include/grub/misc.h
@@ -326,6 +326,8 @@ void EXPORT_FUNC(grub_real_dprintf) (const char *file,
@ -55,5 +55,5 @@ index 2a9f87c..da44520 100644
int EXPORT_FUNC(grub_snprintf) (char *str, grub_size_t n, const char *fmt, ...)
__attribute__ ((format (GNU_PRINTF, 3, 4)));
--
2.4.3
2.5.0

View file

@ -1,7 +1,8 @@
From 2053c4610482deff681feb96f2637933c44f8f3f Mon Sep 17 00:00:00 2001
From 5dbc4254266d8d8d64d5d2fe2ad02ff200f4a7a6 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 25 Jun 2015 15:11:36 -0400
Subject: [PATCH 6/6] Make a "gdb" dprintf that tells us load addresses.
Subject: [PATCH 10005/10006] Make a "gdb" dprintf that tells us load
addresses.
This makes a grub_dprintf() call during platform init and during module
loading that tells us the virtual addresses of the .text and .data
@ -20,10 +21,10 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
4 files changed, 81 insertions(+), 4 deletions(-)
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
index 58931fa..82c7abd 100644
index 247cd0a..f29691c 100644
--- a/grub-core/kern/dl.c
+++ b/grub-core/kern/dl.c
@@ -453,6 +453,24 @@ grub_dl_find_section (Elf_Ehdr *e, const char *name)
@@ -457,6 +457,24 @@ grub_dl_find_section (Elf_Ehdr *e, const char *name)
return NULL;
}
@ -48,7 +49,7 @@ index 58931fa..82c7abd 100644
/* Me, Vladimir Serbinenko, hereby I add this module check as per new
GNU module policy. Note that this license check is informative only.
Modules have to be licensed under GPLv3 or GPLv3+ (optionally
@@ -593,6 +611,38 @@ grub_dl_relocate_symbols (grub_dl_t mod, void *ehdr)
@@ -600,6 +618,38 @@ grub_dl_relocate_symbols (grub_dl_t mod, void *ehdr)
return GRUB_ERR_NONE;
}
@ -87,7 +88,7 @@ index 58931fa..82c7abd 100644
/* Load a module from core memory. */
grub_dl_t
grub_dl_load_core_noinit (void *addr, grub_size_t size)
@@ -651,6 +701,8 @@ grub_dl_load_core_noinit (void *addr, grub_size_t size)
@@ -658,6 +708,8 @@ grub_dl_load_core_noinit (void *addr, grub_size_t size)
grub_dprintf ("modules", "module name: %s\n", mod->name);
grub_dprintf ("modules", "init function: %p\n", mod->init);
@ -97,10 +98,10 @@ index 58931fa..82c7abd 100644
{
grub_dl_unload (mod);
diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
index 95c75d4..d757b2a 100644
index 101307f..7492f9d 100644
--- a/grub-core/kern/efi/efi.c
+++ b/grub-core/kern/efi/efi.c
@@ -298,7 +298,7 @@ grub_efi_secure_boot (void)
@@ -274,7 +274,7 @@ grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
/* Search the mods section from the PE32/PE32+ image. This code uses
a PE32 header, but should work with PE32+ as well. */
grub_addr_t
@ -109,7 +110,7 @@ index 95c75d4..d757b2a 100644
{
grub_efi_loaded_image_t *image;
struct grub_pe32_header *header;
@@ -312,6 +312,7 @@ grub_efi_modules_addr (void)
@@ -288,6 +288,7 @@ grub_efi_modules_addr (void)
if (! image)
return 0;
@ -117,7 +118,7 @@ index 95c75d4..d757b2a 100644
header = image->image_base;
coff_header = &(header->coff_header);
sections
@@ -323,7 +324,7 @@ grub_efi_modules_addr (void)
@@ -299,7 +300,7 @@ grub_efi_modules_addr (void)
i < coff_header->num_sections;
i++, section++)
{
@ -127,7 +128,7 @@ index 95c75d4..d757b2a 100644
}
diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c
index d17d18e..86935c6 100644
index a5b6c1d..9939fde 100644
--- a/grub-core/kern/efi/init.c
+++ b/grub-core/kern/efi/init.c
@@ -59,10 +59,33 @@ grub_efi_env_init (void)
@ -174,10 +175,10 @@ index d17d18e..86935c6 100644
}
diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
index 2245632..6aa0106 100644
index 9a2da0e..37d57d8 100644
--- a/include/grub/efi/efi.h
+++ b/include/grub/efi/efi.h
@@ -85,7 +85,7 @@ extern void (*EXPORT_VAR(grub_efi_net_config)) (grub_efi_handle_t hnd,
@@ -84,7 +84,7 @@ extern void (*EXPORT_VAR(grub_efi_net_config)) (grub_efi_handle_t hnd,
char **device,
char **path);
@ -187,5 +188,5 @@ index 2245632..6aa0106 100644
void grub_efi_mm_init (void);
void grub_efi_mm_fini (void);
--
2.4.3
2.5.0

View file

@ -0,0 +1,66 @@
From ede25cf0ee4a6078f21d580f10d62de238b1729b Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Wed, 22 Jul 2015 16:09:59 -0400
Subject: [PATCH 10006/10006] Try it in gentpl again...
---
grub-core/Makefile.core.def | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 9fa9790..eed40d2 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -44,6 +44,18 @@ transform_data = {
enable = powerpc_ieee1275;
};
+library = {
+ name = kernel_noemu_nodist_symlist.a;
+ noemu_nodist = symlist.c;
+ ia64_efi_cflags = '-fno-builtin -fpic -minline-int-divide-max-throughput -g0';
+ x86_64_xen_cppflags = '$(CPPFLAGS_XEN) -g0';
+ i386_xen_cppflags = '$(CPPFLAGS_XEN) -g0';
+ mips_arc_cppflags = '-DGRUB_DECOMPRESSOR_LINK_ADDR=$(TARGET_DECOMPRESSOR_LINK_ADDR) -g0';
+ i386_qemu_cppflags = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR) -g0';
+ emu_cflags = '$(CFLAGS_GNULIB) -g0';
+ emu_cppflags = '$(CPPFLAGS_GNULIB) -g0';
+};
+
kernel = {
name = kernel;
@@ -133,7 +145,7 @@ kernel = {
noemu = kern/time.c;
noemu = kern/generic/millisleep.c;
- noemu_nodist = symlist.c;
+ ldadd = kernel_noemu_nodist_symlist.a;
mips = kern/generic/rtc_get_time_ms.c;
@@ -350,6 +362,13 @@ program = {
enable = emu;
};
+library = {
+ name = emu_nodist_symlist.a;
+ emu_nodist = symlist.c;
+ cflags = '-g0';
+ cppflags = '-g0';
+};
+
program = {
name = grub-emu-lite;
@@ -357,6 +376,7 @@ program = {
emu_nodist = symlist.c;
ldadd = 'kernel.exec$(EXEEXT)';
+ ldadd = emu_nodist_symlist.a;
ldadd = 'gnulib/libgnu.a $(LIBINTL) $(LIBUTIL) $(LIBSDL) $(LIBUSB) $(LIBPCIACCESS) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
enable = emu;
--
2.5.0

View file

@ -21,6 +21,7 @@ if ! git status | grep -q 'nothing to commit, working directory clean' ; then
fi
releasever=""
amend=""
declare -a savedargs
while [ $# -gt 0 ]; do
@ -35,6 +36,9 @@ while [ $# -gt 0 ]; do
shift
releasever=$1
;;
--amend)
amend="--amend"
;;
*)
savedargs[${#savedargs[@]}]="$1"
;;
@ -108,6 +112,12 @@ echo Patch0000: grub-2.02-beta3-to-origin-master.patch > grub.patches
for x in $patches ; do
echo Patch$(echo ${x} | cut -d- -f1): ${x} >> grub.patches
done
rpmdev-bumpspec -c "- Rebased to newer upstream for ${releasever}" grub2.spec
if [ -z "$amend" ]; then
rpmdev-bumpspec -c "- Rebased to newer upstream for ${releasever}" grub2.spec
fi
git add 0*.patch grub2.spec grub-2.02-beta3-to-origin-master.patch grub.patches
fedpkg commit -s -c
if [ -z "$amend" ]; then
fedpkg commit -s -c $amend
else
git commit -m "" --amend
fi

View file

@ -58,6 +58,8 @@ grub-emu.exe
grub-emu-lite.exe
grub_emu_init.c
grub_emu_init.h
/grub-file
/grub-file.exe
grub-fstest
grub-fstest.exe
grub_fstest_init.c
@ -66,6 +68,8 @@ grub_func_test
grub-install
grub-install.exe
grub-kbdcomp
/grub-macbless
/grub-macbless.exe
grub-macho2img
/grub-menulst2cfg
/grub-menulst2cfg.exe
@ -120,6 +124,8 @@ grub-shell
grub-shell-tester
grub-sparc64-setup
grub-sparc64-setup.exe
/grub-syslinux2cfg
/grub-syslinux2cfg.exe
gzcompress_test
hddboot_test
help_test
@ -194,6 +200,7 @@ grub-core/modinfo.sh
grub-core/*.module
grub-core/*.module.exe
grub-core/*.pp
grub-core/kernel.img.bin
util/bash-completion.d/grub
grub-core/gnulib/alloca.h
grub-core/gnulib/arg-nonnull.h

View file

@ -45,7 +45,7 @@
Name: grub2
Epoch: 1
Version: 2.02
Release: 0.27%{?dist}
Release: 0.29%{?dist}
Summary: Bootloader with support for Linux, Multiboot and more
Group: System Environment/Base
@ -66,16 +66,16 @@ Source7: grub.patches
# git checkout debuginfo
# git format-patch fedora-23..
Patch10001: 10001-Put-the-correct-.file-directives-in-our-.S-files.patch
Patch10002: 10002-Make-efi-machines-load-an-env-block-from-a-variable.patch
Patch10003: 10003-Make-it-possible-to-enabled-build-id-sha1.patch
#Patch10004: 10004-Don-t-tell-the-compiler-to-do-annoying-things-with-f.patch
Patch10005: 10005-Add-grub_qdprintf-grub_dprintf-without-the-file-line.patch
Patch10006: 10006-Make-a-gdb-dprintf-that-tells-us-load-addresses.patch
Patch10002: 10002-Make-it-possible-to-enabled-build-id-sha1.patch
#Patch10003: 10003-Don-t-tell-the-compiler-to-do-annoying-things-with-.patch
Patch10004: 10004-Add-grub_qdprintf-grub_dprintf-without-the-file-lin.patch
Patch10005: 10005-Make-a-gdb-dprintf-that-tells-us-load-addresses.patch
#Patch10006: 10006-Try-it-in-gentpl-again.patch
BuildRequires: flex bison binutils python
BuildRequires: pkgconfig(ncurses) xz-devel bzip2-devel
BuildRequires: ncurses-devel xz-devel bzip2-devel
BuildRequires: freetype-devel libusb-devel
BuildRequires: pkgconfig(rpm)
BuildRequires: rpm-devel
%ifarch %{sparc} x86_64 aarch64 ppc64le
# sparc builds need 64 bit glibc-devel - also for 32 bit userland
BuildRequires: /usr/lib64/crt1.o glibc-static
@ -111,7 +111,7 @@ provides support for PC BIOS systems.
%ifarch %{efiarchs}
%package efi
Summary: GRUB for EFI systems
Summary: GRUB for EFI systems.
Group: System Environment/Base
Requires: %{name}-tools = %{epoch}:%{version}-%{release}
Obsoletes: grub2-efi <= 1:2.00-20%{?dist}
@ -136,7 +136,7 @@ provides support for rebuilding your own grub.efi on EFI systems.
%endif
%package tools
Summary: Support tools for GRUB
Summary: Support tools for GRUB.
Group: System Environment/Base
Requires: gettext os-prober which file system-logos
@ -147,7 +147,7 @@ file systems, computer architectures and hardware devices. This subpackage
provides tools for support of all platforms.
%package starfield-theme
Summary: An example theme for GRUB
Summary: An example theme for GRUB.
Group: System Environment/Base
Requires: system-logos
Obsoletes: grub2 <= 1:2.00-20%{?dist}
@ -544,10 +544,16 @@ fi
%{_datarootdir}/grub/themes/starfield
%changelog
* Thu Apr 07 2016 Peter Jones <pjones@redhat.com> - 2.02-0.29
- Fix ppc64 build failure and rebase to newer f24 code.
* Tue Apr 05 2016 pjones <pjones@redhat.com> - 1:2.02-0.27
- Pull TPM updates from mjg59.
Resolves: rhbz#1318067
* Tue Mar 08 2016 pjones <pjones@redhat.com> - 1:2.02-0.27
- Fix aarch64 build problem.
* Fri Mar 04 2016 Peter Jones <pjones@redhat.com> - 2.02-0.26
- Rebased to newer upstream (grub-2.02-beta3) for fedora-24