Arm Multilib Question
Joel Sherrill
joel at rtems.org
Fri Oct 11 14:15:43 UTC 2019
On Fri, Oct 11, 2019 at 8:55 AM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:
> On 11/10/2019 15:46, Joel Sherrill wrote:
> > Hi
> >
> > I'm trying to find the right multilib for the ARM Deos BSP. They compile
> > their native
> > ARINC 653 applications with these:
> >
> > arm-eabi-gcc -MP -MMD -nostdinc -gdwarf-2 -fno-exceptions
> > -mabi=aapcs-linux -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16
> > -mthumb -mthumb-interwork -O0 -fno-threadsafe-statics
> > -fno-use-cxa-atexit -fno-rtti
>
> I am not sure if -mabi=aapcs-linux is a nop or dangerous. Why do they
> use this option.
>
I deleted this from the RTEMS builds. I recall determining it is the default
for us but don't hold me to that.
>
> The -mthumb-interwork is superfluous.
>
Thanks.
>
> The -fno-exceptions and -fno-rtti make more sense if you build libstdc++
> also with it.
>
They custom build their C++ support and I should have deleted those as
I am just concerned about CPU related C flags.
>
> >
> > Neither arm-eabi nor arm-rtems will link this. arm-eabi picks a variant
> > for crtn0.o but doesn't seem to find a libm even though one is there in
> > the same multilib path and ends up with the math function undefined.
> > arm-rtems is just missing the multlib info as best I can tell.
> >
> >
> /data/home/joel/test-gcc/install-master/bin/../lib/gcc/arm-rtems5/10.0.0/../../../../arm-rtems5/bin/ld:
>
> > error: /tmp/cc8zsaRc.o uses VFP register arguments, armtest does not
> >
> /data/home/joel/test-gcc/install-master/bin/../lib/gcc/arm-rtems5/10.0.0/../../../../arm-rtems5/bin/ld:
>
> > failed to merge target specific data of file /tmp/cc8zsaRc.o
> >
> > I have attached my simple example. Do we have a multlib that should be
> > matching this or does one need to be added?
> >
> > Assistance definitely appreciated.
>
> GCC 8, 9 and 10 are not supported by the ARM BSPs right now.
>
+1 I'm building with the gcc master so the patch can be against that if one
is needed.
>
> You can try this with GCC 10:
>
> -mthumb -march=armv7-a+simd -mfloat-abi=hard
>
That definitely links! Thank you!
Is there something comparable for the gcc 7.4.1 we are actually using?
>
> Why do they use -mfpu=vfpv3-d16? This seems to be quite a non-standard
> ARMv7-A chip.
>
I don't know how they got to this. They don't have any custom ARM CPUs.
Mostly
the same type of things we are used to -- Zynq, MPSoc, and the NXP
Layerscape.
This is definitely something I will have to discuss with them.
>
> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone : +49 89 189 47 41-16
> Fax : +49 89 189 47 41-09
> E-Mail : sebastian.huber at embedded-brains.de
> PGP : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20191011/854a216d/attachment-0001.html>
More information about the devel
mailing list