Is it possible to say the linker that uninitialized data goes into the data section, too so that the linker reserves the space for uninitialized data in the binary.
All linkers that I work with don't have an option for that. But really, if you dont want that to be within the binary then don't declare it. And my guess that would be more of an compiler setting then the linker.
I don't mean to sound like a nuisance or anything, but can you please post generic programming related things in the programming section of the forum?
If you don't want .bss section at all, put your compiler's .bss section into the resulting binary's .data section in your linker script.
If you want specific thing in data section, you can either use assembler to define it into .data section, or tell your compiler to do that. For gcc, add __attribute__((section (".data"))) as last thing on the declaration line: