Currently gdb can write .debug_names but it will not create .debug_aranges. However, when reading, if .debug_aranges does not exist, then gdb will not use the index. This leads to the funny situation that gdb will create an index that it will not use. Also, this is a barrier to changing the index cache to use .debug_names.
Doing this will require also updating gdb-add-index.