Hello,
That is correct, GDB does not use the /cygdrive/d <=> D:\ mapping, but Eclipse CDT does use it. You can prevent the -gdb-set substitute-path from being sent by unchecking the Resolve path mappings using the debugger backend if you wish (as shown below).
When working on the using source subtitute path one of the things I considered is whether, when using Cygwin, you want to always have /cygdrive/X <=> X:\ for all drives mapped by CDT instead of the backend (really mount points).
Would you like to work with me on resolving source lookup for Cygwin? If so, please raise a bug (
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT) with what does not work and we can work together to get it resolved. As has been discussed on this list in the past there are multiple sets of toolchains for Windows (msys/msys2/cygwin/others?), and unfortunately I am not an expert on all (any?) of them, so I can work on the CDT side of the changes with someone experienced to get it working properly.
PS are you shipping Cygwin hosted arm toolchains for cross compilation? AFAICT most vendors are shipping native hosted toolchains (built with mingw).