The way current hotspot build works is to call a Java program called Makedeps to figure out what files need to be built and what the dependencies are. The way Makedeps figuring out the set of files to be built is to match the file absolute path with a pre-defined set of strings depending on the platform. For example, on Windows 32 bit platform, it tries to match the file path name to see if it contains "win32" or "i586" etc.
There is a file called dump_md.cpp in each of the src\cpu\<cpu>\vm directory which is supposed to be named as dump_<cpu>.cpp. But for some historical reasons, it is renamed as so and this will cause problem if the directory name of the workspace contains win32, Makedeps will match the first found dump_md.cpp which is located at <ws>/src/cpu/amd64/vm directory based on the alphabetical order. So it will use that instead of using the one in i486 directory. And this will definitely cause the build fail.