grub2/10003-Make-it-possible-to-enabled-build-id-sha1.patch
Peter Jones f4c76c02ae Reconcile even harder, so that it actually works.
Signed-off-by: Peter Jones <pjones@redhat.com>
2015-07-22 13:12:37 -04:00

65 lines
1.9 KiB
Diff

From bdcd66a767a861370e55a3c2d624383a1f2ec2f5 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
Signed-off-by: Peter Jones <pjones@redhat.com>
---
acinclude.m4 | 19 +++++++++++++++++++
configure.ac | 8 ++++++++
2 files changed, 27 insertions(+)
diff --git a/acinclude.m4 b/acinclude.m4
index 609c4f2..8dd0989 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -136,6 +136,25 @@ if test "x$grub_cv_prog_ld_build_id_none" = xyes; then
fi
])
+dnl Supply --build-id=sha1 to ld if building modules.
+dnl This suppresses warnings from ld on some systems
+AC_DEFUN([grub_PROG_LD_BUILD_ID_SHA1],
+[AC_MSG_CHECKING([whether linker accepts --build-id=sha1])
+AC_CACHE_VAL(grub_cv_prog_ld_build_id_sha1,
+[save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS -Wl,--build-id=sha1"
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
+ [grub_cv_prog_ld_build_id_sha1=yes],
+ [grub_cv_prog_ld_build_id_sha1=no])
+LDFLAGS="$save_LDFLAGS"
+])
+AC_MSG_RESULT([$grub_cv_prog_ld_build_id_sha1])
+
+if test "x$grub_cv_prog_ld_build_id_sha1" = xyes; then
+ TARGET_LDFLAGS="$TARGET_LDFLAGS -Wl,--build-id=sha1"
+fi
+])
+
dnl Check nm
AC_DEFUN([grub_PROG_NM_WORKS],
[AC_MSG_CHECKING([whether nm works])
diff --git a/configure.ac b/configure.ac
index 991cb15..8d780e3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1202,7 +1202,15 @@ grub_PROG_TARGET_CC
if test "x$TARGET_APPLE_LINKER" != x1 ; then
grub_PROG_OBJCOPY_ABSOLUTE
fi
+
+AC_ARG_ENABLE([build-id],
+ [AS_HELP_STRING([--enable-build-id],
+ [ask the linker to supply build-id notes (default=no)])])
+if test x$enable_build_id = xyes; then
+grub_PROG_LD_BUILD_ID_SHA1
+else
grub_PROG_LD_BUILD_ID_NONE
+fi
if test "x$target_cpu" = xi386; then
if test "$platform" != emu && test "x$TARGET_APPLE_LINKER" != x1 ; then
if test ! -z "$TARGET_IMG_LDSCRIPT"; then
--
2.4.3