diff options
-rw-r--r-- | meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch | 23 | ||||
-rw-r--r-- | meta-oe/recipes-extended/efivar/efivar_0.24.bb (renamed from meta-oe/recipes-extended/efivar/efivar_0.23.bb) | 17 |
2 files changed, 31 insertions, 9 deletions
diff --git a/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch b/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch new file mode 100644 index 0000000000..87f555509b --- /dev/null +++ b/meta-oe/recipes-extended/efivar/efivar/allow-multi-definitions-for-native.patch @@ -0,0 +1,23 @@ +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> +--- +diff --git a/Make.rules b/Make.rules +index d9c0609..874bce0 100644 +--- a/Make.rules ++++ b/Make.rules +@@ -20,6 +20,7 @@ include $(TOPDIR)/Make.version + $(CCLD) $(ccldflags) $(CPPFLAGS) $(SOFLAGS) \ + -Wl,-soname,$@.$(MAJOR_VERSION) \ + -Wl,--version-script=$(MAP) \ ++ -Wl,-z,muldefs \ + -o $@ $^ $(LDLIBS) + + %.o : %.c diff --git a/meta-oe/recipes-extended/efivar/efivar_0.23.bb b/meta-oe/recipes-extended/efivar/efivar_0.24.bb index 5879031fc5..35412b6bc9 100644 --- a/meta-oe/recipes-extended/efivar/efivar_0.23.bb +++ b/meta-oe/recipes-extended/efivar/efivar_0.24.bb @@ -5,18 +5,21 @@ HOMEPAGE = "https://github.com/rhinstaller/efivar" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393" -DEPENDS_class-target = "popt efivar-native" +DEPENDS = "popt" +DEPENDS_append_class-target = " efivar-native" COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" -SRCREV = "7367d78281fa3ce390e10c7c9f4608c58e7a6d3d" -SRC_URI = "git://github.com/rhinstaller/efivar.git" +SRCREV = "963cb2e5adc145fe00717f94e382f2973f80e753" +SRC_URI = "git://github.com/rhinstaller/efivar.git \ + file://0002-disable-static-build.patch \ +" SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch \ - file://0002-disable-static-build.patch \ file://0003-efivar-fix-for-cross-compile.patch \ file://0004-fix-unknow-option-for-gold-linker.patch \ " SRC_URI_append_class-native = " file://fix-compile-failure-with-host-gcc-4.6.patch \ + file://allow-multi-definitions-for-native.patch \ " S = "${WORKDIR}/git" @@ -28,15 +31,11 @@ do_compile_prepend() { sed -i -e s:-Werror::g ${S}/gcc.specs } -do_compile_class-native() { - oe_runmake -C src makeguids -} - do_install() { oe_runmake install DESTDIR=${D} } -do_install_class-native() { +do_install_append_class-native() { install -D -m 0755 ${B}/src/makeguids ${D}${bindir}/makeguids } |