forked from brl/citadel
replaced with version from meta-openembedded
This commit is contained in:
parent
3917089c71
commit
bd18cf7f72
@ -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
|
@ -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}
|
@ -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
|
||||||
|
|
@ -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}
|
@ -5,32 +5,39 @@ HOMEPAGE = "https://github.com/rhinstaller/efivar"
|
|||||||
LICENSE = "LGPLv2.1"
|
LICENSE = "LGPLv2.1"
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
|
||||||
|
|
||||||
PV = "36"
|
DEPENDS = "popt"
|
||||||
SRC_NAME = "efivar"
|
DEPENDS_append_class-target = " efivar-native"
|
||||||
SRC_URI = "https://github.com/rhboot/efivar/releases/download/${PV}/${SRC_NAME}-${PV}.tar.bz2"
|
|
||||||
SRC_URI[md5sum] = "e98140ab7105e90059dc57a67c8c07e9"
|
|
||||||
SRC_URI[sha256sum] = "94bfccc20889440978a85f08d5af4619040ee199001b62588d47d676f58c0d33"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/${SRC_NAME}-${PV}"
|
inherit pkgconfig
|
||||||
|
|
||||||
#inherit autotools pkgconfig
|
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
|
||||||
inherit pkgconfig autotools
|
|
||||||
|
|
||||||
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 () {
|
do_compile_class-native() {
|
||||||
cd ${S}/src
|
oe_runmake -C src makeguids CC_FOR_BUILD="${BUILD_CC}"
|
||||||
make
|
|
||||||
:
|
|
||||||
#oe_runmake
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#do_install () {
|
do_install() {
|
||||||
# oe_runmake install DESTDIR=${D}
|
oe_runmake install DESTDIR=${D}
|
||||||
#}
|
}
|
||||||
|
|
||||||
#do_install_append_class-native() {
|
do_install_class-native() {
|
||||||
# install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
|
install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids
|
||||||
#}
|
}
|
||||||
|
|
||||||
|
BBCLASSEXTEND = "native"
|
||||||
|
Loading…
Reference in New Issue
Block a user