libocpi_foreign.so Compilation Flags

BP
Brian Padalino
Mon, Jan 20, 2020 7:53 PM

I've created a xilinx17_4 RCC for the port I am working on.  For one device
(ADALM-PLUTO), the hardfp argument in the compilation flags seems correct.

For this other custom platform, the mabi-float argument to GCC needs to be
softfp, but when I try to do that I end up with linker errors regarding
libocpi_foreign.so being the default hardfp even though everything else
seemed built using softfp.

I tried, but I couldn't quite find where the OcpiCFlags or OcpiCXXFlags
were used for generating libocpi_foreign.so?  Does anyone have any insights
as to why this might be the case?

Also, to get around the issue, I just used a different non-Xilinx supplied
toolchain which defaulted to softfp.  For the future, if I want to create
an RCC that supports both soft and hard floating point ABI's, what is the
preferred method to do that?  Different RCC's?

Lastly, I've been adding an RCC as a set of patches applied to the OpenCPI
git repository.  Am I able to add RCC's out-of-tree in another project?
When I tried to do that previously, it seemed to barf?  Any insights or
recommendations would be very appreciated.

Thanks,
Brian

I've created a xilinx17_4 RCC for the port I am working on. For one device (ADALM-PLUTO), the hardfp argument in the compilation flags seems correct. For this other custom platform, the mabi-float argument to GCC needs to be softfp, but when I try to do that I end up with linker errors regarding libocpi_foreign.so being the default hardfp even though everything else seemed built using softfp. I tried, but I couldn't quite find where the OcpiCFlags or OcpiCXXFlags were used for generating libocpi_foreign.so? Does anyone have any insights as to why this might be the case? Also, to get around the issue, I just used a different non-Xilinx supplied toolchain which defaulted to softfp. For the future, if I want to create an RCC that supports both soft and hard floating point ABI's, what is the preferred method to do that? Different RCC's? Lastly, I've been adding an RCC as a set of patches applied to the OpenCPI git repository. Am I able to add RCC's out-of-tree in another project? When I tried to do that previously, it seemed to barf? Any insights or recommendations would be very appreciated. Thanks, Brian