You're absolutely right! The memory flags should be included into the auto-generated name, because this is the only way a linker script could see them.
The solution, which I just committed (available with tomorrow's daily source snapshot), is to use "code", "data" and "bss" for the type. Followed by an optional memory attribute "chip" or "fast". Which may be followed by an index, starting with "0001", when there are more than one section of a type.
BTW, yesterday I forgot that you can already assign names for different section types with the current version of vlink, when using the
-fixunnamed
option. Disadvantage is that multiple sections of the same type would then be merged, and memory flags are still missing (also fixed with tomorrow's update).