This was on Ubuntu 14.04 with gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
On Wed, Aug 23, 2017 at 5:13 PM, Khem Raj <[email protected]> wrote: > On Wed, Aug 23, 2017 at 4:38 AM, Martin Jansa <[email protected]> > wrote: > > Fails here in qemux86 build with: > > > > DEBUG: Executing shell function do_compile > > NOTE: make -j 24 AR=gcc-ar > > make[1]: Entering directory > > `TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/git/src' > > make -f > > TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/git/src/Make.deps > deps > > SOURCES="crc32.c creator.c disk.c gpt.c linux.c loadopt.c dp.c dp-acpi.c > > dp-hw.c dp-media.c dp-message.c efivarfs.c error.c export.c guid.c > guids.S > > guid-symbols.c lib.c vars.c makeguids.c guid.c > > include/efivar/efiboot-creator.h include/efivar/efiboot.h > > include/efivar/efiboot-loadopt.h include/efivar/efivar-dp.h > > include/efivar/efivar-guids.h include/efivar/efivar.h > > include/efivar/efivar-guids.h guid-symbols.c efivar.c" > > make[2]: Entering directory > > `TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/git/src' > > make[2]: Nothing to be done for `deps'. > > make[2]: Leaving directory > > `TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/git/src' > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o dp.o dp.c > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o guid-symbols.o guid-symbols.c > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o lib.o lib.c > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o vars.o vars.c > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o crc32.o crc32.c > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o creator.o creator.c > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o disk.o disk.c > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o gpt.o gpt.c > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o linux.o linux.c > > gcc > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -O2 -pipe > > -ITOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > git/src/include/efivar/ > > -specs=TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/git/gcc.specs > > -fPIC > > -isystemTOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31- > r0/recipe-sysroot-native/usr/include > > -c -o loadopt.o loadopt.c > > dp.c: In function ‘efidp_duplicate_extra’: > > dp.c:78:2: warning: implicit declaration of function ‘_Generic’ > > [-Wimplicit-function-declaration] > > if (add(sz, extra, &plus)) { > > ^ > > In file included from dp.c:27:0: > > util.h:109:10: error: expected expression before ‘int’ > > int *: int_add(a,b,c), \ > > ^ > > I have gcc 7.1 on my build host and I dont see efivar-native failing > what should I do to reproduce it > > > dp.c:78:6: note: in expansion of macro ‘add’ > > if (add(sz, extra, &plus)) { > > ^ > > dp.c:65:58: warning: unused parameter ‘extra’ [-Wunused-parameter] > > efidp_duplicate_extra(const_efidp dp, efidp *out, size_t extra) > > ^ > > In file included from dp.c:27:0: > > dp.c: In function ‘efidp_append_path’: > > util.h:109:10: error: expected expression before ‘int’ > > int *: int_add(a,b,c), \ > > ^ > > dp.c:164:6: note: in expansion of macro ‘add’ > > if (add(lsz, rsz, &newsz)) { > > ^ > > dp.c: In function ‘efidp_append_node’: > > util.h:109:10: error: expected expression before ‘int’ > > int *: int_add(a,b,c), \ > > ^ > > dp.c:221:7: note: in expansion of macro ‘add’ > > if (add(rsz, sizeof(end_entire), &newsz)) { > > ^ > > util.h:109:10: error: expected expression before ‘int’ > > int *: int_add(a,b,c), \ > > ^ > > dp.c:257:6: note: in expansion of macro ‘add’ > > if (add(lsz, rsz, &newsz) || add(newsz, sizeof(end_entire), &newsz)) { > > ^ > > util.h:109:10: error: expected expression before ‘int’ > > int *: int_add(a,b,c), \ > > ^ > > dp.c:257:31: note: in expansion of macro ‘add’ > > if (add(lsz, rsz, &newsz) || add(newsz, sizeof(end_entire), &newsz)) { > > ^ > > make[1]: *** [dp.o] Error 1 > > make[1]: *** Waiting for unfinished jobs.... > > make[1]: Leaving directory > > `TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/git/src' > > make: *** [all] Error 2 > > ERROR: oe_runmake failed > > WARNING: exit code 1 from a shell command. > > ERROR: Function failed: do_compile (log file is located at > > TOPDIR/BUILD/work/x86_64-linux/efivar-native/0.31-r0/ > temp/log.do_compile.7593) > > > > > > > > On Fri, Aug 18, 2017 at 6:49 PM, Khem Raj <[email protected]> wrote: > >> > >> Signed-off-by: Khem Raj <[email protected]> > >> --- > >> ...some-extra-const-that-gcc-complains-about.patch | 44 > --------------- > >> ...Do-not-use-__bswap_constant_-16-32-macros.patch | 37 ++++++++++++ > >> ...-version-new-way-symbol-versioning-breaks.patch | 66 > >> ---------------------- > >> .../efivar/efivar/0002-disable-static-build.patch | 33 ----------- > >> .../0004-fix-unknow-option-for-gold-linker.patch | 15 ++--- > >> .../fix-compile-failure-with-host-gcc-4.6.patch | 13 ++--- > >> .../efivar/efivar/musl-strndupa.patch | 17 ++++++ > >> .../efivar/{efivar_0.24.bb => efivar_0.31.bb} | 9 ++- > >> 8 files changed, 69 insertions(+), 165 deletions(-) > >> delete mode 100644 > >> meta-oe/recipes-extended/efivar/efivar/0001-Remove- > some-extra-const-that-gcc-complains-about.patch > >> create mode 100644 > >> meta-oe/recipes-extended/efivar/efivar/0001-makeguids- > Do-not-use-__bswap_constant_-16-32-macros.patch > >> delete mode 100644 > >> meta-oe/recipes-extended/efivar/efivar/0002-New-gcc- > version-new-way-symbol-versioning-breaks.patch > >> delete mode 100644 > >> meta-oe/recipes-extended/efivar/efivar/0002-disable-static-build.patch > >> create mode 100644 > >> meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch > >> rename meta-oe/recipes-extended/efivar/{efivar_0.24.bb => > efivar_0.31.bb} > >> (83%) > >> > >> diff --git > >> a/meta-oe/recipes-extended/efivar/efivar/0001-Remove- > some-extra-const-that-gcc-complains-about.patch > >> b/meta-oe/recipes-extended/efivar/efivar/0001-Remove- > some-extra-const-that-gcc-complains-about.patch > >> deleted file mode 100644 > >> index 4ae8cb90f..000000000 > >> --- > >> a/meta-oe/recipes-extended/efivar/efivar/0001-Remove- > some-extra-const-that-gcc-complains-about.patch > >> +++ /dev/null > >> @@ -1,44 +0,0 @@ > >> -From 29a2dea16113b5a8e51de46437c6a9f7426c5867 Mon Sep 17 00:00:00 2001 > >> -From: Peter Jones <[email protected]> > >> -Date: Mon, 6 Feb 2017 14:28:19 -0500 > >> -Subject: [PATCH 1/2] Remove some extra "const" that gcc complains > about. > >> - > >> -One of these days I'll get these right. > >> - > >> -Signed-off-by: Peter Jones <[email protected]> > >> ---- > >> - src/include/efivar/efiboot-loadopt.h | 4 ++-- > >> - src/loadopt.c | 2 +- > >> - 2 files changed, 3 insertions(+), 3 deletions(-) > >> - > >> -diff --git a/src/include/efivar/efiboot-loadopt.h > >> b/src/include/efivar/efiboot-loadopt.h > >> -index 07db5c4..efc29c6 100644 > >> ---- a/src/include/efivar/efiboot-loadopt.h > >> -+++ b/src/include/efivar/efiboot-loadopt.h > >> -@@ -32,8 +32,8 @@ extern ssize_t efi_loadopt_create(uint8_t *buf, > ssize_t > >> size, > >> - > >> - extern efidp efi_loadopt_path(efi_load_option *opt, ssize_t limit) > >> - __attribute__((__nonnull__ (1))); > >> --extern const unsigned char const * efi_loadopt_desc(efi_load_option > >> *opt, > >> -- ssize_t limit) > >> -+extern const unsigned char * efi_loadopt_desc(efi_load_option *opt, > >> -+ ssize_t limit) > >> - __attribute__((__visibility__ ("default"))) > >> - __attribute__((__nonnull__ (1))); > >> - extern uint32_t efi_loadopt_attrs(efi_load_option *opt) > >> -diff --git a/src/loadopt.c b/src/loadopt.c > >> -index 64e333f..ec50722 100644 > >> ---- a/src/loadopt.c > >> -+++ b/src/loadopt.c > >> -@@ -336,7 +336,7 @@ teardown(void) > >> - > >> - __attribute__((__nonnull__ (1))) > >> - __attribute__((__visibility__ ("default"))) > >> --const unsigned char const * > >> -+const unsigned char * > >> - efi_loadopt_desc(efi_load_option *opt, ssize_t limit) > >> - { > >> - if (last_desc) { > >> --- > >> -2.12.2 > >> - > >> diff --git > >> a/meta-oe/recipes-extended/efivar/efivar/0001-makeguids- > Do-not-use-__bswap_constant_-16-32-macros.patch > >> b/meta-oe/recipes-extended/efivar/efivar/0001-makeguids- > Do-not-use-__bswap_constant_-16-32-macros.patch > >> new file mode 100644 > >> index 000000000..73a772186 > >> --- /dev/null > >> +++ > >> b/meta-oe/recipes-extended/efivar/efivar/0001-makeguids- > Do-not-use-__bswap_constant_-16-32-macros.patch > >> @@ -0,0 +1,37 @@ > >> +From 98b33d4193998687aa3a78c097f7bd4c393e0c85 Mon Sep 17 00:00:00 2001 > >> +From: Khem Raj <[email protected]> > >> +Date: Sat, 15 Jul 2017 00:29:42 -0700 > >> +Subject: [PATCH] makeguids: Do not use __bswap_constant_{16|32} macros > >> + > >> +not available on musl > >> + > >> +Signed-off-by: Khem Raj <[email protected]> > >> +--- > >> + src/makeguids.c | 8 ++++---- > >> + 1 file changed, 4 insertions(+), 4 deletions(-) > >> + > >> +diff --git a/src/makeguids.c b/src/makeguids.c > >> +index da2f5f7..daf821a 100644 > >> +--- a/src/makeguids.c > >> ++++ b/src/makeguids.c > >> +@@ -155,13 +155,13 @@ main(int argc, char *argv[]) > >> + #if BYTE_ORDER == BIG_ENDIAN\n\ > >> + #define cpu_to_be32(n) (n)\n\ > >> + #define cpu_to_be16(n) (n)\n\ > >> +-#define cpu_to_le32(n) (__bswap_constant_32(n))\n\ > >> +-#define cpu_to_le16(n) (__bswap_constant_16(n))\n\ > >> ++#define cpu_to_le32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | > >> (n)<<8&0xff0000 | (n)<<24))\n\ > >> ++#define cpu_to_le16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\ > >> + #else\n\ > >> + #define cpu_to_le32(n) (n)\n\ > >> + #define cpu_to_le16(n) (n)\n\ > >> +-#define cpu_to_be32(n) (__bswap_constant_32(n))\n\ > >> +-#define cpu_to_be16(n) (__bswap_constant_16(n))\n\ > >> ++#define cpu_to_be32(n) ((uint32_t) ((n)>>24 | (n)>>8&0xff00 | > >> (n)<<8&0xff0000 | (n)<<24))\n\ > >> ++#define cpu_to_be16(n) ((uint16_t) ((n)<<8 | (n)>>8))\n\ > >> + #endif\n\ > >> + """); > >> + > >> +-- > >> +2.13.3 > >> + > >> diff --git > >> a/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc- > version-new-way-symbol-versioning-breaks.patch > >> b/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc- > version-new-way-symbol-versioning-breaks.patch > >> deleted file mode 100644 > >> index 737b78b01..000000000 > >> --- > >> a/meta-oe/recipes-extended/efivar/efivar/0002-New-gcc- > version-new-way-symbol-versioning-breaks.patch > >> +++ /dev/null > >> @@ -1,66 +0,0 @@ > >> -From 31e655d2b5f66e772d9714422b7332bbaa60d2e6 Mon Sep 17 00:00:00 2001 > >> -From: Peter Jones <[email protected]> > >> -Date: Mon, 6 Feb 2017 14:41:58 -0500 > >> -Subject: [PATCH 2/2] New gcc version, new way symbol versioning breaks. > >> - > >> -Apparently I get to redo this every time there's a compiler release. > >> -Yaaaaaay. > >> - > >> -Anyway, the current method is to define the two compat things from the > >> -land before time as @libefivar.so.0 symbols and list them there in the > >> -link map. Then we have the real one defined with another name, and set > >> -as efi_set_variable@@LIBEFIVAR_0.24. Then to make there actually be a > >> -efi_set_variable symbol to link against, we create it as a weak alias. > >> - > >> -This is all completely absurd. > >> - > >> -Signed-off-by: Peter Jones <[email protected]> > >> ---- > >> - src/lib.c | 17 ++++++++++++----- > >> - 1 file changed, 12 insertions(+), 5 deletions(-) > >> - > >> -diff --git a/src/lib.c b/src/lib.c > >> -index 6a9b392..afa7d94 100644 > >> ---- a/src/lib.c > >> -+++ b/src/lib.c > >> -@@ -49,7 +49,7 @@ _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@"); > >> -+__asm__(".symver _efi_set_variable,[email protected] > "); > >> - > >> - int > >> - __attribute__((__nonnull__ (2, 3))) > >> -@@ -59,17 +59,24 @@ _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@"); > >> -+__asm__(".symver > >> _efi_set_variable_variadic,[email protected]"); > >> - > >> - int > >> - __attribute__((__nonnull__ (2, 3))) > >> - __attribute__((__visibility__ ("default"))) > >> --efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data, > >> -- size_t data_size, uint32_t attributes, mode_t mode) > >> -+_efi_set_variable_mode(efi_guid_t guid, const char *name, uint8_t > *data, > >> -+ size_t data_size, uint32_t attributes, mode_t > mode) > >> - { > >> - return ops->set_variable(guid, name, data, data_size, > attributes, > >> mode); > >> - } > >> --__asm__(".symver efi_set_variable,efi_set_variable@@LIBEFIVAR_0.24"); > >> -+__asm__(".symver > >> _efi_set_variable_mode,efi_set_variable@@LIBEFIVAR_0.24"); > >> -+ > >> -+int > >> -+__attribute__((__nonnull__ (2, 3))) > >> -+__attribute__((__visibility__ ("default"))) > >> -+efi_set_variable(efi_guid_t guid, const char *name, uint8_t *data, > >> -+ size_t data_size, uint32_t attributes, mode_t mode) > >> -+ __attribute((weak, alias ("_efi_set_variable_mode"))); > >> - > >> - int > >> - __attribute__((__nonnull__ (2, 3))) > >> --- > >> -2.12.2 > >> - > >> diff --git > >> a/meta-oe/recipes-extended/efivar/efivar/0002-disable- > static-build.patch > >> b/meta-oe/recipes-extended/efivar/efivar/0002-disable- > static-build.patch > >> deleted file mode 100644 > >> index 951b15921..000000000 > >> --- > >> a/meta-oe/recipes-extended/efivar/efivar/0002-disable- > static-build.patch > >> +++ /dev/null > >> @@ -1,33 +0,0 @@ > >> -From 126e0d3c1ad74cf5b0abe9e98ec444bcc3c83159 Mon Sep 17 00:00:00 2001 > >> -From: Koen Kooi <[email protected]> > >> -Date: Fri, 4 Mar 2016 14:53:55 +0100 > >> -Subject: [PATCH 2/2] disable static build > >> - > >> -Signed-off-by: Koen Kooi <[email protected]> > >> - > >> -Upstream-Status: Inappropriate [meta-oe specific] > >> -Signed-off-by: Hongxu Jia <[email protected]> > >> - > >> ---- > >> - src/Makefile | 4 ++-- > >> - 1 file changed, 2 insertions(+), 2 deletions(-) > >> - > >> -diff --git a/src/Makefile b/src/Makefile > >> -index 1829d22..c7a0ca3 100644 > >> ---- a/src/Makefile > >> -+++ b/src/Makefile > >> -@@ -8,9 +8,9 @@ include $(TOPDIR)/Make.defaults > >> - > >> - LIBTARGETS=libefivar.so libefiboot.so > >> - STATICLIBTARGETS=libefivar.a libefiboot.a > >> --BINTARGETS=efivar efivar-static > >> -+BINTARGETS=efivar > >> - PCTARGETS=efivar.pc efiboot.pc > >> --TARGETS=$(LIBTARGETS) $(STATICLIBTARGETS) $(BINTARGETS) $(PCTARGETS) > >> -+TARGETS=$(LIBTARGETS) $(BINTARGETS) $(PCTARGETS) > >> - > >> - LIBEFIBOOT_SOURCES = crc32.c creator.c disk.c gpt.c linux.c loadopt.c > >> - LIBEFIBOOT_OBJECTS = $(patsubst %.c,%.o,$(LIBEFIBOOT_SOURCES)) > >> --- > >> -2.4.3 > >> - > >> diff --git > >> a/meta-oe/recipes-extended/efivar/efivar/0004-fix-unknow- > option-for-gold-linker.patch > >> b/meta-oe/recipes-extended/efivar/efivar/0004-fix-unknow- > option-for-gold-linker.patch > >> index 5d50c1906..96d0c6b3b 100644 > >> --- > >> a/meta-oe/recipes-extended/efivar/efivar/0004-fix-unknow- > option-for-gold-linker.patch > >> +++ > >> b/meta-oe/recipes-extended/efivar/efivar/0004-fix-unknow- > option-for-gold-linker.patch > >> @@ -23,16 +23,13 @@ Signed-off-by: Hongxu Jia <[email protected] > > > >> gcc.specs | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> -diff --git a/gcc.specs b/gcc.specs > >> -index 24fabc2..5b0fdef 100644 > >> ---- a/gcc.specs > >> -+++ b/gcc.specs > >> +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 -PIC} %{static:%<pie} > >> -++ %{!static:--fatal-warnings} --no-undefined-version > >> --no-allow-shlib-undefined -z now --build-id %{!static:%{!shared:-pie}} > >> %{shared:-z relro -fPIC} %{static:%<pie} > >> --- > >> -2.8.1 > >> - > >> +-+ %{!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} > >> diff --git > >> a/meta-oe/recipes-extended/efivar/efivar/fix-compile- > failure-with-host-gcc-4.6.patch > >> b/meta-oe/recipes-extended/efivar/efivar/fix-compile- > failure-with-host-gcc-4.6.patch > >> index 1c68a2934..e3fa2e1c1 100644 > >> --- > >> a/meta-oe/recipes-extended/efivar/efivar/fix-compile- > failure-with-host-gcc-4.6.patch > >> +++ > >> b/meta-oe/recipes-extended/efivar/efivar/fix-compile- > failure-with-host-gcc-4.6.patch > >> @@ -20,10 +20,10 @@ Signed-off-by: Hongxu Jia <[email protected] > > > >> gcc.specs | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > >> > >> -diff --git a/gcc.specs b/gcc.specs > >> -index 0d4bbda..3802ca6 100644 > >> ---- a/gcc.specs > >> -+++ b/gcc.specs > >> +Index: git/gcc.specs > >> +=================================================================== > >> +--- git.orig/gcc.specs > >> ++++ git/gcc.specs > >> @@ -2,13 +2,13 @@ > >> + -D_GNU_SOURCE > >> > >> @@ -35,11 +35,8 @@ index 0d4bbda..3802ca6 100644 > >> + %(efivar_cpp_options) > >> > >> *cc1_options: > >> --+ %(efivar_cpp_options) -Wmaybe-uninitialized -fno-merge-constants > -flto > >> -fvisibility=hidden > >> %{!r:%{!fpie:%{!fPIE:%{!fpic:%{!fPIC:%{!fno-pic:-fPIE}}}}}} > >> +-+ %(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} > >> --- > >> -2.8.1 > >> - > >> diff --git a/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch > >> b/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch > >> new file mode 100644 > >> index 000000000..fc8f8c8b2 > >> --- /dev/null > >> +++ b/meta-oe/recipes-extended/efivar/efivar/musl-strndupa.patch > >> @@ -0,0 +1,17 @@ > >> +Taken from void linux > >> + > >> +Index: git/src/linux.c > >> +=================================================================== > >> +--- git.orig/src/linux.c > >> ++++ git/src/linux.c > >> +@@ -40,6 +40,10 @@ > >> + #include <efivar.h> > >> + #include <efiboot.h> > >> + > >> ++#if !defined(__GLIBC__) > >> ++#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s) > >> ++#endif > >> ++ > >> + #include "dp.h" > >> + #include "linux.h" > >> + #include "util.h" > >> diff --git a/meta-oe/recipes-extended/efivar/efivar_0.24.bb > >> b/meta-oe/recipes-extended/efivar/efivar_0.31.bb > >> similarity index 83% > >> rename from meta-oe/recipes-extended/efivar/efivar_0.24.bb > >> rename to meta-oe/recipes-extended/efivar/efivar_0.31.bb > >> index 877ca9045..10dde896e 100644 > >> --- a/meta-oe/recipes-extended/efivar/efivar_0.24.bb > >> +++ b/meta-oe/recipes-extended/efivar/efivar_0.31.bb > >> @@ -12,13 +12,12 @@ inherit pkgconfig > >> > >> COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" > >> > >> -SRCREV = "963cb2e5adc145fe00717f94e382f2973f80e753" > >> +SRCREV = "11324799c68193116e1dd5f94b416591bd324f90" > >> SRC_URI = "git://github.com/rhinstaller/efivar.git \ > >> - file://0002-disable-static-build.patch \ > >> file://allow-multi-definitions-for-native.patch \ > >> - > >> file://0001-Remove-some-extra-const-that-gcc-complains-about.patch \ > >> - > >> file://0002-New-gcc-version-new-way-symbol-versioning-breaks.patch \ > >> -" > >> + > >> file://0001-makeguids-Do-not-use-__bswap_constant_-16-32-macros.patch \ > >> + file://musl-strndupa.patch \ > >> + " > >> SRC_URI_append_class-target = " > >> file://0001-efivar-fix-for-cross-compile.patch \ > >> > >> file://0003-efivar-fix-for-cross-compile.patch \ > >> ${@bb.utils.contains('DISTRO_ > FEATURES', > >> 'ld-is-gold', 'file://0004-fix-unknow-option-for-gold-linker.patch', > '', d)} > >> \ > >> -- > >> 2.14.1 > >> > >> -- > >> _______________________________________________ > >> Openembedded-devel mailing list > >> [email protected] > >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel > > > > > -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
