[oe] [meta-oe][PATCH] efibootmgr: fix build error with gcc 5.2

Khem Raj raj.khem at gmail.com
Fri Aug 28 06:30:38 UTC 2015


> On Aug 27, 2015, at 2:30 AM, kai.kang at windriver.com wrote:
> 
> From: Kai Kang <kai.kang at windriver.com>
> 
> It fails to build efibootmgr with gcc 5.2:
> 
> src/lib/disk.o: In function `disk_get_scsi_pci':
> src/lib/disk.c:154: undefined reference to `get_scsi_pci'
> src/lib/efi.o: In function `make_edd30_device_path':
> src/lib/efi.c:474: undefined reference to `get_scsi_idlun'
> collect2: error: ld returned 1 exit status
> 
> Because functions get_scsi_pci and get_scsi_idlun are declared as
> inline. It has different semantics for inilne function between gcc 4
> and gcc 5.
> 
> Pass flag '-fgnu89-inline' to gcc to fix the errors.
> 
> Ref:
> https://gcc.gnu.org/gcc-5/porting_to.html
> 
> Signed-off-by: Kai Kang <kai.kang at windriver.com>
> ---
> meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb | 2 +-

can you update it to 0.12+ see https://github.com/rhinstaller/efibootmgr not sure if it will work for arm, you should let original
authors from Linaro know.

secondly if you take a closer look then it might be possible to move the function definitions into .h file and make them  static inline

> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb
> index 1870455..501ff2a 100644
> --- a/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb
> +++ b/meta-oe/recipes-extended/efibootmgr/efibootmgr_0.6.0.bb
> @@ -19,7 +19,7 @@ SRC_URI = "http://linux.dell.com/efibootmgr/permalink/efibootmgr-${PV}.tar.gz \
> SRC_URI[md5sum] = "9e9a31d79e579644de83a14139b66d10"
> SRC_URI[sha256sum] = "5167488b92950e60028d1025942ce6bda04638c6fb5e110abb8c8f687844d155"
> 
> -EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/lib -I${S}/src/include'"
> +EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/src/lib -I${S}/src/include -fgnu89-inline'"
> 
> do_install () {
>     install -D -p -m0755 src/efibootmgr/efibootmgr ${D}/${sbindir}/efibootmgr
> --
> 1.9.1
> 
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20150827/37b287e1/attachment-0002.sig>


More information about the Openembedded-devel mailing list