but IMO the real point is: is it worth of?
I don't think so, since there are easy ways around it, but the question comes up once in a while ("since the big compilers can do it, why can't you?" yada, yada, yada...)
In
some ways, a better idea would be to implement link-time optimization, but:
1) this makes much more sense for a language like C++, which will almost by definition produce many small functions (some likely identical at the machine code level), or when you build something huge like Word or Firefox.
2) this is a massive amount of work, and since C isn't C++ (yet), it's never going to happen (with Pelles C).
What I think can be really useful is to respect the alphabetic order of the grouped sections during the code emission, because could be helpful to the sequence positioning of data in the file.
If we talk about the same thing, the '$' grouping stuff
requires sorting. This is (among other things) how various C runtimes collect data-blocks from different object files; use f.e.
.somename$XA as the starting placeholder,
.somename$XZ and the ending placeholder, and
.somename$X<whatever> in different object files. When running, any data will be packed between
.somename$XA and
.somename$XZ (disregarding alignment, etc).