There is a bug in libiberty where when reading the response file from disk
they assume the file is ASCII using a one byte per character encoding instead of UTF-8.
This means that unicode paths are broken. A proper fix will be to fix libiberty.
However this won't be done for GHC 8.2. Instead I propose this for 8.2 and a proper fix
for 8.4 since the issue is marked high priority.
This has several caveats though:
- The path must exist, otherwise the path won't be converted.
- DOS short names can be disabled (but really, almost no one does this.).
- We're doing a lot of extra processing of paths