[En-Nut-Discussion] Ethernut 4.8.9 and Yagarto ARM CGG 4.6.0

Harald Kipp harald.kipp at egnite.de
Fri Jul 22 08:45:48 CEST 2011


Hi Ernst,

On 7/21/2011 9:36 PM, Ernst Stippl wrote:
> In an attempt to update my website containing Ethernut Builds based on
> various GCC versions, I ran across the following problem when I tried to
> compile Ethernut 4.8.9 with ARM GCC 4.6.0

I appreciate your service.

> - This resulted in the following errors:
> 
> D:\DRV-NUT\ethernut_4.8.9\nutbld_arm_4.6.0>make  install
> 1>..\c489c460arm.txt 
> arm-none-eabi-ar: creating libnutarch.a
> arm-none-eabi-ar: creating libnutos.a
> ../.././nut/dev/lan91.c: In function 'NicPhyConfig':
> ../.././nut/dev/lan91.c:296:14: error: variable 'phy_sor' set but not used
> [-Werror=unused-but-set-variable]
> ../.././nut/dev/lan91.c: In function 'Lan91Output':
> ../.././nut/dev/lan91.c:836:14: error: variable 'ni' set but not used
> [-Werror=unused-but-set-variable]
> cc1.exe: all warnings being treated as errors

>From version to version GCC becomes more strict, which in general is a
good thing. However, older Nut/OS versions may contain neglectfully
written code and therefore the build may fail when using the latest
compiler version.

> - I am not sure if it is OK to use ARM GCC 4.6.0 with ethernut30d.conf
>   But if it is, I wonder about these errors...

There are rare cases of problems with optimized code generation, but in
general any compiler version should be OK.

When building Nut/OS libraries we are very strict too, not accepting
compiler warnings. For your purpose it is OK to have relaxed rules, so
you can simply remove the -Werror option in Makedefs.arm-gcc.

Regards,

Harald



More information about the En-Nut-Discussion mailing list