PpHd (./22) :
Provided that they are not initialised to a value, yes.
The only problem is that if you write:
int x = 2;as a global, x will be mapped to the ROM code, making it impossible to change.
That's another missing feature in your patch. (But this one can be added incrementally after the BSS support.) We really need to support separate .data and .rodata, where .data is treated similarly to .bss, but initialized by copying a block stored next to .text and .rodata, for FlashROM code (and probably also as an option for RAM code, to have a fully ISO C compatible mode, without the "globals retain value" glitch).