How to have OpenMP available on Yocto for iMX6?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to have OpenMP available on Yocto for iMX6?

Jump to solution
5,982 Views
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

1 Solution
2,536 Views
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

View solution in original post

2 Replies
2,537 Views
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,536 Views
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!

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