> -----Original Message-----
> From: Pavel Ionut <pavel.ionut.catalin...@gmail.com>
> Sent: Wednesday, July 15, 2020 6:48 PM
> To: dev@nuttx.apache.org
> Subject: [nuttx][avr] Issues while building avr (atmega) board example.
>
> Hello,
>
> Basically I'm trying to build the moteino-mega board example and I found some
> issues.
> I have prepared a fix for all of these issues, but first of all I want your
> opinion on one of the issues.
>
It will be great if you can take some time to enable the build check for AVR,
so we can avoid the build break in the feature. Only three files need to change:
https://github.com/apache/incubator-nuttx-testing/blob/master/testlist/all.dat
https://github.com/apache/incubator-nuttx-testing/blob/master/cibuild.sh
https://github.com/apache/incubator-nuttx-testing/blob/master/docker/linux/Dockerfile
> Seems like the linux avr-gcc does not include double_t as a type inside the
> compiler provided <math.h>, and double_t is used inside
> the libs and the build fails.
>
Yes, the change Is made in the recent commit:
commit d17b963bcab98e2d2f641623547837a8d3fe94cd
Author: Xiang Xiao <xiaoxi...@xiaomi.com>
Date: Sun Jun 28 14:04:30 2020 +0800
libc: Move double_t typedef from sys/types.h to math.h
specified here:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/math.h.html
Signed-off-by: Xiang Xiao <xiaoxi...@xiaomi.com>
Change-Id: I3497a73908301d999cf1cfc4a66552a7ca4868c6
Before this commit, double_t is defined in include/sys/types.h, but we found
that this definition may different from the toolchain's one, so this patch move
the definition into include/nuttx/lib/math.h. Both case work correctly(no
mismatch) until your case:
1.double_t come from include/nuttx/lib/math.h when we enable NuttX's libm
2.double_t come from toolchain's math.h when we enable toolchain's libm
> One possible fix (currently using) is to typedef it inside compiler.h (for
> the AVR compiler), however, I don't know if this would be
> correct since I see no other typedefs inside that file.
>
Another place is arch/avr/include/types.h, all arch specific types definition
come from here.
> Regards