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

Kang Kai Kai.Kang at windriver.com
Mon Sep 7 08:45:29 UTC 2015


On 2015年08月28日 14:30, Khem Raj wrote:
>> 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.

OK. I'll do it.


>
> 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

Let me try. Thanks.

--Kai


>
>> 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
>
>


-- 
Regards,
Neil | Kai Kang




More information about the Openembedded-devel mailing list