1
0
forked from brl/citadel

replaced with version from meta-openembedded

This commit is contained in:
Bruce Leidl 2018-12-13 06:38:35 -05:00
parent 3917089c71
commit bd18cf7f72
5 changed files with 174 additions and 21 deletions

View File

@ -0,0 +1,32 @@
From a9115d9e6f0f62d6bb735ce3698858d1f89f8d73 Mon Sep 17 00:00:00 2001
From: Kai Kang <kai.kang@windriver.com>
Date: Fri, 25 Sep 2015 18:14:31 +0800
Subject: [PATCH] efivar: fix for cross compile
It builds and calls elf file makeguids to generate a header file which
doesn't work for cross compile. Fix it.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
src/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index 0c16597..dcc7fc8 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -40,8 +40,8 @@ abicheck : $(patsubst %.so,%.abicheck,$(LIBTARGETS))
./guid-symbols.c : include/efivar/efivar-guids.h
./guids.bin : include/efivar/efivar-guids.h
./names.bin : include/efivar/efivar-guids.h
-include/efivar/efivar-guids.h : makeguids guids.txt
- ./makeguids guids.txt guids.bin names.bin \
+include/efivar/efivar-guids.h : guids.txt
+ makeguids guids.txt guids.bin names.bin \
guid-symbols.c include/efivar/efivar-guids.h
makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT

View File

@ -0,0 +1,35 @@
From b3d35e7dd27a755df5acbe050837885914dbb28b Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 10 May 2016 11:34:50 -0400
Subject: [PATCH] fix unknow option for gold linker
- Revert the following patch, since oe-core work with gcc 5
...
commit 3055a3797f16693dfdd855fa68bc57fd900dc408
Author: Peter Jones <pjones@redhat.com>
Date: Mon Feb 15 14:15:40 2016 -0500
Make gcc.specs work with gcc 6 / binutils 2.26
Apparently binutils 2.26 gets real picky about "ld -PIC" vs "ld -fPIC".
Signed-off-by: Peter Jones <pjones@redhat.com>
...
- Remove unknown option '--add-needed'
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
gcc.specs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: git/gcc.specs
===================================================================
--- git.orig/gcc.specs
+++ git/gcc.specs
@@ -14,4 +14,4 @@
+ %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}
*link:
-+ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined --add-needed -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}
++ %{!static:--fatal-warnings} --no-undefined-version --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}} %{shared:-z relro} %{static:%<pie}

View File

@ -0,0 +1,36 @@
From c10368b397483a2fc7b493c099d8416d902f8cd8 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 31 Jul 2018 14:18:35 +0800
Subject: [PATCH] allow multi definitions for native
Upstream-Status: Pending
It fails to create .so file when build efivar-native:
| lib.o:(*IND*+0x0): multiple definition of `efi_set_variable'
| lib.o:lib.c:(.text+0xa0): first defined here
Add link option '-z muldefs' to fix it.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
Make.rules | 1 +
1 file changed, 1 insertion(+)
diff --git a/Make.rules b/Make.rules
index 042585b..257ba45 100644
--- a/Make.rules
+++ b/Make.rules
@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version
$(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \
-Wl,-soname,$@.1 \
-Wl,--version-script=$(MAP) \
+ -Wl,-z,muldefs \
-o $@ $^ $(LDLIBS)
ln -vfs $@ $@.1
--
2.7.4

View File

@ -0,0 +1,43 @@
From 3edce6a0019bcb90febc1f654b5b2e2bad5c59bd Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Thu, 26 May 2016 21:50:01 -0400
Subject: [PATCH] fix compile failure with older host gcc (<=4.6)
While host gcc version is 4.6.3 in ubuntu 1204, it
did not recognize -std=gnu11 and -Wmaybe-uninitialized.
While host gcc version is 4.4.7 in centos6, it
did not recognize -std=gnu11, -Wmaybe-uninitialized,
and -flto.
For native build, use -std=gnu99 to replace -std=gnu11,
and directly remove -Wmaybe-uninitialized and -flto.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
gcc.specs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc.specs b/gcc.specs
index 45d43d1..f1c6944 100644
--- a/gcc.specs
+++ b/gcc.specs
@@ -2,13 +2,13 @@
+ -D_GNU_SOURCE
*efivar_cpp_options:
- -Werror -Wall -std=gnu11 -Wextra
+ -Werror -Wall -std=gnu99 -Wextra
*cpp_options:
+ %(efivar_cpp_options)
*cc1_options:
-+ %(efivar_cpp_options) -Wmaybe-uninitialized -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
++ %(efivar_cpp_options) -fno-merge-constants -fvisibility=hidden %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}}
*self_spec:
+ %{!shared:%{!static:%{!r:-pie}}} %{static:-Wl,-no-fatal-warnings -Wl,-static -static -Wl,-z,relro,-z,now}

View File

@ -5,32 +5,39 @@ HOMEPAGE = "https://github.com/rhinstaller/efivar"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
PV = "36"
SRC_NAME = "efivar"
SRC_URI = "https://github.com/rhboot/efivar/releases/download/${PV}/${SRC_NAME}-${PV}.tar.bz2"
SRC_URI[md5sum] = "e98140ab7105e90059dc57a67c8c07e9"
SRC_URI[sha256sum] = "94bfccc20889440978a85f08d5af4619040ee199001b62588d47d676f58c0d33"
DEPENDS = "popt"
DEPENDS_append_class-target = " efivar-native"
S = "${WORKDIR}/${SRC_NAME}-${PV}"
inherit pkgconfig
#inherit autotools pkgconfig
inherit pkgconfig autotools
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
do_configure () {
:
SRCREV = "ef3449223ecd1e7b1098c523d66b2f960fe839ea"
SRC_URI = "git://github.com/rhinstaller/efivar.git \
file://allow-multi-definitions-for-native.patch \
"
SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'file://0004-fix-unknow-option-for-gold-linker.patch', '', d)} \
"
SRC_URI_append_class-native = " file://fix-compile-failure-with-host-gcc-4.6.patch \
"
S = "${WORKDIR}/git"
do_compile_prepend() {
sed -i -e s:-Werror::g ${S}/gcc.specs
}
do_compile () {
cd ${S}/src
make
:
#oe_runmake
do_compile_class-native() {
oe_runmake -C src makeguids CC_FOR_BUILD="${BUILD_CC}"
}
#do_install () {
# oe_runmake install DESTDIR=${D}
#}
do_install() {
oe_runmake install DESTDIR=${D}
}
#do_install_append_class-native() {
# install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
#}
do_install_class-native() {
install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
}
BBCLASSEXTEND = "native"