How to have OpenMP available on Yocto for iMX6?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to have OpenMP available on Yocto for iMX6?

跳至解决方案
7,661 次查看
maurice
Contributor III

Hello,

I have the the official release from Freescale to use Yocto. I created a sdk cross-toolchain by the command 'bitbake linux-imx -c populate-sdk' then I launched the script in tmp/deploy/sdk. Version of poky used is 1.5.3.

However, I want to use OpenMP in this cross-toolchain.

By default, the option of openMP is disable hence I modified  these recipes to comment the "--disable libgomp" :

  • sources/poky/meta/recipes-core/gettext/gettext_0.18.3.1.bb
  • sources/poky/meta/recipes-devtools/gcc/gcc-4.8.inc
  • sources/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc

Then, after creating  the sdk cross-toolchain, I have his error

"...i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/../../libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.8.1/ld: error:  hello uses VFP register arguments, ./libgomp.a(parallel.o) does not

... i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/../../libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.8.1/ld: failed to merge target specific data of file ./libgomp.a(parallel.o)"

Indeed, I need to use the option "-mfloat-abi=hard".

How can I do that?

Thank you

Maurice

标记 (5)
1 解答
4,215 次查看
maurice
Contributor III

Hello,

One solution to have OpenMP is to edit the configure file "local.conf" by adding :

CORE_IMAGE_EXTRA_INSTALL += libgomp libgomp-dev libgomp-staticdev

BR

Maurice

在原帖中查看解决方案

2 回复数
4,216 次查看
maurice
Contributor III

Hello,

One solution to have OpenMP is to edit the configure file "local.conf" by adding :

CORE_IMAGE_EXTRA_INSTALL += libgomp libgomp-dev libgomp-staticdev

BR

Maurice

4,215 次查看
igorpadykov
NXP Employee
NXP Employee

Hi maurice

My opinion that this may be caused by specifics of hard float point

implementation on i.MX6. According to links below

"support for this lib [OpenMP] is only for ARMv7 arch ..only HardFloat can be used"

Also from sect.12.3.2 "Core configuration" IMX6DQRM  :

"FPU" is not present, only NEON. This may incur some

implications mentioned in links below

http://openmp.org/forum/viewtopic.php?f=3&t=1255

https://wiki.debian.org/ArmHardFloatPort

For speeding resolution I would suggest to post this

to meta-fsl-arm mailing list, so that our yocto developers

or someone familiar with Yocto/OpenMP integration could try

to assist you.

https://lists.yoctoproject.org/listinfo/meta-freescale

Best regards

chip

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------