As per the title – 'gdmd -c -of<file> …' writes to <file>.o, not <file> like DMD. In particular, 'gdmd -c -oftest.o test.d' produces test.o.o, whereas DMD writes to test.o. This is with GDMD from Git master (2422b48), as shipped with the Arch Linux gdc package.
Works with the new D GDMD: https://github.com/D-Programming-GDC/GDMD/tree/dport I'm not sure if we should fix the old GDMD script or just switch to the new GDMD everywhere...
That sounds sensible enough, but is ultimately something you guys will need to figure out internally – as a user, I only care that there is a GDMD that works correctly. :)
As stated, it's already been fixed.