gnu-efi/0010-Make-clang-not-complain-about-the-debughook-s-optimi.patch
Peter Jones 5e28aef030 Fix some bugs from the 3.0.5 release...
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-02-28 11:55:01 -05:00

58 lines
1.7 KiB
Diff

From a94906bd487c1a2e6d7827f31d7eb46bc09f3b43 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Fri, 10 Feb 2017 16:18:14 -0500
Subject: [PATCH 10/10] Make clang not complain about the debughook's
optimization settings
... still won't work, of course, because nobody at clang takes compiler
compatibility seriously while they keep implying that you can pretend
it's gcc.
Signed-off-by: Peter Jones <pjones@redhat.com>
---
Make.defaults | 3 ++-
apps/debughook.c | 5 +++--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/Make.defaults b/Make.defaults
index cc52195..a7778a7 100755
--- a/Make.defaults
+++ b/Make.defaults
@@ -161,7 +161,8 @@ CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
-fshort-wchar -fno-strict-aliasing \
-ffreestanding -fno-stack-protector \
-fno-stack-check \
- $(if $(findstring gcc,$(CC)),-fno-merge-constants,)
+ $(if $(findstring gcc,$(CC)),-fno-merge-constants,) \
+ $(if $(findstring clang,$(CC)),-Wno-unknown-pragmas,)
endif
ARFLAGS += -U
diff --git a/apps/debughook.c b/apps/debughook.c
index e1d1c50..fa36f62 100644
--- a/apps/debughook.c
+++ b/apps/debughook.c
@@ -37,8 +37,9 @@ GetVariable(CHAR16 *var, UINT8 **data, UINTN *len, EFI_GUID owner)
EFI_GUID DUMMY_GUID =
{0x55aad538, 0x8f82, 0x4e2a, {0xa4,0xf0,0xbe, 0x59, 0x13, 0xb6, 0x5f, 0x1e}};
+#pragma GCC push_options
+#pragma GCC optimize ("0")
static void
-__attribute__((__optimize__("0")))
DebugHook(void)
{
EFI_GUID guid = DUMMY_GUID;
@@ -81,7 +82,7 @@ DebugHook(void)
}
x = 1;
}
-
+#pragma GCC pop_options
EFI_STATUS
efi_main (EFI_HANDLE image, EFI_SYSTEM_TABLE *systab)
--
2.9.3