AVR-GCC for Linux doesn't handle well 16 bit words

Of course a framework can define the functions cli() and sei() as appropriate. Same for Arduino interrupts() and noInterrupts().

From the problems of the OP I also could imagine that RTOS has problems with 8 bit controllers, not the compiler.

All in all: could anybody reproduce the errors using the Arduino framework and compiler?