Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-oe][PATCH] efivar: fix zero initializer compiler error
Date: Fri, 29 Jan 2016 19:01:57 +0100	[thread overview]
Message-ID: <20160129180157.GA15053@jama> (raw)
In-Reply-To: <1453200318-25633-1-git-send-email-alexandru.but@ni.com>

[-- Attachment #1: Type: text/plain, Size: 4563 bytes --]

On Tue, Jan 19, 2016 at 12:45:18PM +0200, Alexandru But wrote:
> Patch based on commit a3606c0:
> Sometimes the compiler doesn't like { 0,} as an initializer

Probably not caused by this change, but efivar now fails to build in
world build for qemuarm:

| linux.c: In function 'eb_nvme_ns_id':
| linux.c:48:27: error: 'NVME_IOCTL_ID' undeclared (first use in this function)
|   uint64_t ret = ioctl(fd, NVME_IOCTL_ID, NULL);
|                            ^
| linux.c:48:27: note: each undeclared identifier is reported only once for each function it appears in
| make[1]: *** [linux.o] Error 1
| make[1]: Leaving directory `/home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/efivar/0.21-r0/git/src'
| make: *** [src] Error 2
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (log file is located at /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/efivar/0.21-r0/temp/log.do_compile.8376)
NOTE: recipe efivar-0.21-r0: task do_compile: Failed
ERROR: Task 5672 (/home/jenkins/oe/world/shr-core/meta-openembedded/meta-oe/recipes-extended/efivar/efivar_0.21.bb, do_compile) failed with exit code '1'

> 
> Signed-off-by: Alexandru But <alexandru.but@ni.com>
> ---
>  ...he-compiler-doesn-t-like-0-as-an-initiali.patch | 42 ++++++++++++++++++++++
>  meta-oe/recipes-extended/efivar/efivar_0.21.bb     |  3 +-
>  2 files changed, 44 insertions(+), 1 deletion(-)
>  create mode 100644 meta-oe/recipes-extended/efivar/efivar/0001-Sometimes-the-compiler-doesn-t-like-0-as-an-initiali.patch
> 
> diff --git a/meta-oe/recipes-extended/efivar/efivar/0001-Sometimes-the-compiler-doesn-t-like-0-as-an-initiali.patch b/meta-oe/recipes-extended/efivar/efivar/0001-Sometimes-the-compiler-doesn-t-like-0-as-an-initiali.patch
> new file mode 100644
> index 0000000..68cabd6
> --- /dev/null
> +++ b/meta-oe/recipes-extended/efivar/efivar/0001-Sometimes-the-compiler-doesn-t-like-0-as-an-initiali.patch
> @@ -0,0 +1,42 @@
> +From a3606c02fd271d32e364fcc540e34ba1899309f6 Mon Sep 17 00:00:00 2001
> +From: Peter Jones <pjones@redhat.com>
> +Date: Tue, 14 Jul 2015 09:33:54 -0400
> +Subject: [PATCH] Sometimes the compiler doesn't like { 0, } as an
> + initializer...
> +
> +Because it really wants to be { {0, },} or something, and sometimes the
> +compiler, knowing full well what we're trying to do, likes to complain
> +about the rigor applied to our technique in doing it.
> +
> +memset() the struct ifreq to 0 instead so I don't need to figure out its
> +internal structure just to zero it out.
> +
> +Resolves #28
> +
> +Signed-off-by: Peter Jones <pjones@redhat.com>
> +---
> + src/linux.c | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/src/linux.c b/src/linux.c
> +index 57f71f3..817b8e6 100644
> +--- a/src/linux.c
> ++++ b/src/linux.c
> +@@ -847,12 +847,13 @@ ssize_t
> + __attribute__((__visibility__ ("hidden")))
> + make_mac_path(uint8_t *buf, ssize_t size, const char * const ifname)
> + {
> +-	struct ifreq ifr = { 0, };
> ++	struct ifreq ifr;
> + 	struct ethtool_drvinfo drvinfo = { 0, };
> + 	int fd, rc;
> + 	ssize_t ret = -1, sz, off=0;
> + 	char busname[PATH_MAX+1] = "";
> + 
> ++	memset(&ifr, 0, sizeof (ifr));
> + 	strncpy(ifr.ifr_name, ifname, IF_NAMESIZE);
> + 	drvinfo.cmd = ETHTOOL_GDRVINFO;
> + 	ifr.ifr_data = (caddr_t)&drvinfo;
> +-- 
> +2.6.1
> +
> diff --git a/meta-oe/recipes-extended/efivar/efivar_0.21.bb b/meta-oe/recipes-extended/efivar/efivar_0.21.bb
> index b5ef90a..1684a10 100644
> --- a/meta-oe/recipes-extended/efivar/efivar_0.21.bb
> +++ b/meta-oe/recipes-extended/efivar/efivar_0.21.bb
> @@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
>  DEPENDS_class-target = "popt efivar-native"
>  
>  SRCREV = "aab6c2a64d90b6e5a63661fb5bd6be8d878b0784"
> -SRC_URI = "git://github.com/rhinstaller/efivar.git"
> +SRC_URI = "git://github.com/rhinstaller/efivar.git \
> +           file://0001-Sometimes-the-compiler-doesn-t-like-0-as-an-initiali.patch"
>  SRC_URI_append_class-target = " file://0001-efivar-fix-for-cross-compile.patch"
>  SRC_URI_append_class-native = " file://efivar-drop-options-not-supported-by-lower-version-gcc.patch"
>  
> -- 
> 2.6.1
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

  reply	other threads:[~2016-01-29 17:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-19 10:45 [meta-oe][PATCH] efivar: fix zero initializer compiler error Alexandru But
2016-01-29 18:01 ` Martin Jansa [this message]
2016-02-01  9:24   ` Alexandru But
2016-02-01 10:45     ` linux-yocto issues Was: " Martin Jansa
2016-02-01 13:33       ` [OE-core] " Bruce Ashfield
2016-02-01 18:46     ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160129180157.GA15053@jama \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox