Blame SOURCES/0018-Add-efi_get_libefivar_version-and-efi_get_libefiboot.patch

4e0e09
From fbda040f70143b207ef8d0daae509d6c15ffca95 Mon Sep 17 00:00:00 2001
4e0e09
From: Peter Jones <pjones@redhat.com>
4e0e09
Date: Tue, 28 May 2019 16:08:25 -0400
4e0e09
Subject: [PATCH 18/63] Add efi_get_libefivar_version() and
4e0e09
 efi_get_libefiboot_version()
4e0e09
4e0e09
Signed-off-by: Peter Jones <pjones@redhat.com>
4e0e09
---
4e0e09
 Make.defaults                | 2 +-
4e0e09
 src/Android.mk               | 4 +++-
4e0e09
 src/creator.c                | 6 ++++++
4e0e09
 src/include/efivar/efiboot.h | 3 +++
4e0e09
 src/include/efivar/efivar.h  | 3 +++
4e0e09
 src/lib.c                    | 6 ++++++
4e0e09
 src/libefiboot.map.in        | 4 ++++
4e0e09
 src/libefivar.map.in         | 1 +
4e0e09
 8 files changed, 27 insertions(+), 2 deletions(-)
4e0e09
4e0e09
diff --git a/Make.defaults b/Make.defaults
4e0e09
index 57cee6e82b5..6c575846687 100644
4e0e09
--- a/Make.defaults
4e0e09
+++ b/Make.defaults
4e0e09
@@ -18,7 +18,7 @@ CCLD_FOR_BUILD	?= $(CC_FOR_BUILD)
4e0e09
 CCLD	:= $(if $(filter undefined,$(origin CCLD)),$(CC),$(CCLD))
4e0e09
 OPTIMIZE ?= -O2 -flto
4e0e09
 CFLAGS	?= $(OPTIMIZE) -g3
4e0e09
-CFLAGS	:= $(CFLAGS)
4e0e09
+CFLAGS	:= $(CFLAGS) -DLIBEFIVAR_VERSION=$(VERSION)
4e0e09
 LDFLAGS ?=
4e0e09
 LDFLAGS := $(LDFLAGS)
4e0e09
 AR	:= $(CROSS_COMPILE)$(COMPILER)-ar
4e0e09
diff --git a/src/Android.mk b/src/Android.mk
4e0e09
index b3410e1f3e7..bf6cfb2e91b 100644
4e0e09
--- a/src/Android.mk
4e0e09
+++ b/src/Android.mk
4e0e09
@@ -46,8 +46,10 @@ LIBEFIVAR_SOURCES := \
4e0e09
 	lib.c \
4e0e09
 	vars.c
4e0e09
 
4e0e09
+include $(LOCAL_PATH)/../Make.version
4e0e09
+
4e0e09
 LOCAL_SRC_FILES := $(LIBEFIBOOT_SOURCES) $(LIBEFIVAR_SOURCES)
4e0e09
-LOCAL_CFLAGS := -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -std=gnu11
4e0e09
+LOCAL_CFLAGS := -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -std=gnu11 -DLIBEFIVAR_VERSION=$(VERSION)
4e0e09
 LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
4e0e09
 LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_C_INCLUDES) $(LOCAL_C_INCLUDES)/efivar $(local-generated-sources-dir)
4e0e09
 LIBEFIVAR_GUIDS_H := $(local-generated-sources-dir)/efivar/efivar-guids.h
4e0e09
diff --git a/src/creator.c b/src/creator.c
4e0e09
index 987fa033e5b..f4bb01bc4a6 100644
4e0e09
--- a/src/creator.c
4e0e09
+++ b/src/creator.c
4e0e09
@@ -511,3 +511,9 @@ efi_generate_ipv4_device_path(uint8_t *buf, ssize_t size,
4e0e09
 
4e0e09
 	return off;
4e0e09
 }
4e0e09
+
4e0e09
+uint32_t PUBLIC
4e0e09
+efi_get_libefiboot_version(void)
4e0e09
+{
4e0e09
+        return LIBEFIVAR_VERSION;
4e0e09
+}
4e0e09
diff --git a/src/include/efivar/efiboot.h b/src/include/efivar/efiboot.h
4e0e09
index c2af55fbf45..2aee86d661e 100644
4e0e09
--- a/src/include/efivar/efiboot.h
4e0e09
+++ b/src/include/efivar/efiboot.h
4e0e09
@@ -35,4 +35,7 @@
4e0e09
 #include <efivar/efiboot-creator.h>
4e0e09
 #include <efivar/efiboot-loadopt.h>
4e0e09
 
4e0e09
+extern uint32_t efi_get_libefiboot_version(void)
4e0e09
+        __attribute__((__visibility__("default")));
4e0e09
+
4e0e09
 #endif /* EFIBOOT_H */
4e0e09
diff --git a/src/include/efivar/efivar.h b/src/include/efivar/efivar.h
4e0e09
index 343d1c557da..ff95cb10791 100644
4e0e09
--- a/src/include/efivar/efivar.h
4e0e09
+++ b/src/include/efivar/efivar.h
4e0e09
@@ -249,6 +249,9 @@ extern int efi_get_verbose(void)
4e0e09
 extern FILE * efi_get_logfile(void)
4e0e09
         __attribute__((__visibility__("default")));
4e0e09
 
4e0e09
+extern uint32_t efi_get_libefivar_version(void)
4e0e09
+        __attribute__((__visibility__("default")));
4e0e09
+
4e0e09
 #include <efivar/efivar-dp.h>
4e0e09
 
4e0e09
 #endif /* EFIVAR_H */
4e0e09
diff --git a/src/lib.c b/src/lib.c
4e0e09
index dc06fdb3c15..457a8604d5d 100644
4e0e09
--- a/src/lib.c
4e0e09
+++ b/src/lib.c
4e0e09
@@ -265,3 +265,9 @@ libefivar_init(void)
4e0e09
 		}
4e0e09
 	}
4e0e09
 }
4e0e09
+
4e0e09
+uint32_t PUBLIC
4e0e09
+efi_get_libefivar_version(void)
4e0e09
+{
4e0e09
+	return LIBEFIVAR_VERSION;
4e0e09
+}
4e0e09
diff --git a/src/libefiboot.map.in b/src/libefiboot.map.in
4e0e09
index cb19d65d0e4..0771eac5639 100644
4e0e09
--- a/src/libefiboot.map.in
4e0e09
+++ b/src/libefiboot.map.in
4e0e09
@@ -33,3 +33,7 @@ LIBEFIBOOT_1.29 {
4e0e09
 
4e0e09
 LIBEFIBOOT_1.30 {
4e0e09
 } LIBEFIBOOT_1.29;
4e0e09
+
4e0e09
+LIBEFIBOOT_1.31 {
4e0e09
+	global:	efi_get_libefiboot_version;
4e0e09
+} LIBEFIBOOT_1.30;
4e0e09
diff --git a/src/libefivar.map.in b/src/libefivar.map.in
4e0e09
index 8965b729917..33196fefc64 100644
4e0e09
--- a/src/libefivar.map.in
4e0e09
+++ b/src/libefivar.map.in
4e0e09
@@ -134,4 +134,5 @@ LIBEFIVAR_1.37 {
4e0e09
 LIBEFIVAR_1.38 {
4e0e09
 	global: efi_error_pop;
4e0e09
 		efi_stash_loglevel_;
4e0e09
+		efi_get_libefivar_version;
4e0e09
 } LIBEFIVAR_1.37;
4e0e09
-- 
4e0e09
2.26.2
4e0e09