One can include newlib.h
to perform some checks against the used newlib library.
Problem is that version 1.110301.0
contains broken arm-none-eabi/include/_newlib_version.h
which contains e.g.
#define __NEWLIB__ @NEWLIB_MAJOR_VERSION@
#define __NEWLIB_MINOR__ @NEWLIB_MINOR_VERSION@
#define __NEWLIB_PATCHLEVEL__ @NEWLIB_PATCHLEVEL_VERSION@
Which is syntactically wrong.
Sadly, also upstream 11.3.Rel1 contains this broken file but upstream 12.2.Rel1 is fine again.
Is there a way how this can be fixed? I mean downstream in toolchain-gccarmnoneeabi.
I can skip this broken version and pin the project to an older one to workaround this.
For comparison, this file in other toolchain-gccarmnoneeabi versions
1.90301.200702
#define _NEWLIB_VERSION "3.3.0"
#define __NEWLIB__ 3
#define __NEWLIB_MINOR__ 3
#define __NEWLIB_PATCHLEVEL__ 0
1.100301.220327
#define _NEWLIB_VERSION "4.1.0"
#define __NEWLIB__ 4
#define __NEWLIB_MINOR__ 1
#define __NEWLIB_PATCHLEVEL__ 0
1.110301.0 and upstream 11.3.Rel1
/* The newlib version in string format. */
#define _NEWLIB_VERSION "@NEWLIB_VERSION@"
/* The newlib major version number. */
#define __NEWLIB__ @NEWLIB_MAJOR_VERSION@
/* The newlib minor version number. */
#define __NEWLIB_MINOR__ @NEWLIB_MINOR_VERSION@
/* The newlib patch level. */
#define __NEWLIB_PATCHLEVEL__ @NEWLIB_PATCHLEVEL_VERSION@
upstream 12.2.Rel1
#define _NEWLIB_VERSION "4.2.0"
#define __NEWLIB__ 4
#define __NEWLIB_MINOR__ 2
#define __NEWLIB_PATCHLEVEL__ 0