The BYTE_ORDER define in lwip_bindings/arch/cc.h causes a warning because it is also defined in machine/endian.h from the gcc-arm-embedded standard library headers:
In file included from ../ChibiOS/ext/lwip/src/include/lwip/arch.h:43:0,
from ../ChibiOS/ext/lwip/src/include/lwip/debug.h:35,
from ../ChibiOS/ext/lwip/src/include/lwip/opt.h:46,
from ../ChibiOS/os/various/lwip_bindings/lwipthread.h:27,
from main.c:27:
../ChibiOS/os/various/lwip_bindings/arch/cc.h:71:0: warning: "BYTE_ORDER" redefined
#define BYTE_ORDER LITTLE_ENDIAN
In file included from /usr/arm-none-eabi/include/sys/types.h:67:0,
from /usr/arm-none-eabi/include/stdio.h:61,
from main.c:17:
/usr/arm-none-eabi/include/machine/endian.h:20:0: note: this is the location of the previous definition
#define BYTE_ORDER _BYTE_ORDER
This is with latest arm-gcc-embedded: arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 6.2.1 20161205 (release) [ARM/embedded-6-branch revision 243739].
Easy fix is to add #ifndef guards around the definition in cc.h.
Fix committed, thanks.