File efivar-bsc988000-remove-versioning-efi_set_variable.patch of Package efivar

From e8506c88a26248d9933a5060972578d178e25f89 Mon Sep 17 00:00:00 2001
From: Gary Lin <glin@suse.com>
Date: Mon, 11 Jul 2016 14:31:23 +0800
Subject: [PATCH] Remove the versioning of efi_set_variable

gcc-4.8 doesn't work well with the version script, and it would complain
"multiple definition" of efi_set_variable.

This patch removes the versioning of efi_set_variable to avoid the
compilation error. The drawback is that we would lose the flexibility
provided by the version script. However, fwupdate is the only user of
libefivar in SLE12-SP2, and there is a patch for it to use the newer
efi_set_variable, so we should be fine.
---
 src/lib.c         | 3 ---
 src/libefivar.map | 5 +----
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/src/lib.c b/src/lib.c
index 6a9b392..b8909e8 100644
--- a/src/lib.c
+++ b/src/lib.c
@@ -49,7 +49,6 @@ _efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data,
 {
 	return ops->set_variable(guid, name, data, data_size, attributes, 0600);
 }
-__asm__(".symver _efi_set_variable,_efi_set_variable@");
 
 int
 __attribute__((__nonnull__ (2, 3)))
@@ -59,7 +58,6 @@ _efi_set_variable_variadic(efi_guid_t guid, const char *name, uint8_t *data,
 {
 	return ops->set_variable(guid, name, data, data_size, attributes, 0600);
 }
-__asm__(".symver _efi_set_variable_variadic,efi_set_variable@");
 
 int
 __attribute__((__nonnull__ (2, 3)))
@@ -69,7 +67,6 @@ efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data,
 {
 	return ops->set_variable(guid, name, data, data_size, attributes, mode);
 }
-__asm__(".symver efi_set_variable,efi_set_variable@@LIBEFIVAR_0.24");
 
 int
 __attribute__((__nonnull__ (2, 3)))
diff --git a/src/libefivar.map b/src/libefivar.map
index ce50088..78588ea 100644
--- a/src/libefivar.map
+++ b/src/libefivar.map
@@ -15,6 +15,7 @@ libefivar.so.0 {
 		efi_name_to_guid;
 		_efi_set_variable;
 		_efi_set_variable_variadic;
+		efi_set_variable;
 		efi_str_to_guid;
 		efi_variable_export;
 		efi_variable_free;
@@ -93,7 +94,3 @@ libefivar.so.0 {
 
 LIBEFIVAR_0.0 {
 } libefivar.so.0;
-
-LIBEFIVAR_0.24 {
-	global: efi_set_variable;
-} LIBEFIVAR_0.0;
-- 
2.9.0

openSUSE Build Service is sponsored by