Problem was in SearchPathW function that does not attach an extension if file already has one.
That does not work for executables like ld.lld2 for example which requre to has .exe extension but SearchPath thinks that its "lld2".
So for such cases I added the extension manually and ignore the extension argument.
Not sure who should review it.