The machine name arm64pe passed to the linker is completely made up; gnu binutils doesn't (afaik) support this, so it only has to match what the corresponding (not yet merged) lld linker supports - similarly to the existing thumb2pe machine name.
Details
Diff Detail
Event Timeline
lib/Driver/ToolChains/MinGW.cpp | ||
---|---|---|
122–140 | Can you use a switch here instead? |
lib/Driver/ToolChains/MinGW.cpp | ||
---|---|---|
122–140 | Sure, I can change that. What do you think about the llvm_unreachable part btw? There's nothing stopping a user from trigger that with e.g. -target mips-windows-gnu, and in release builds, such a default: llvm_unreachable() case usually ends up as just running one of the existing cases. Should it be changed into a real runtime error that isn't optimized out from release builds? |
lib/Driver/ToolChains/MinGW.cpp | ||
---|---|---|
134 | I believe the reason I used thumb2pe for the arm triple is because MS gave us a watered down thumb environment. |
Updated to use a switch, added a mapping of a missed case of thumb while reformatting the if to a switch.
lib/Driver/ToolChains/MinGW.cpp | ||
---|---|---|
134 | There's no thumb mode at all in 64 bit mode (yet at least), so naming it thumb* wouldn't make sense. Modelling the previous name after the old thumbpe makes sense though. |
lib/Driver/ToolChains/MinGW.cpp | ||
---|---|---|
134 | Great, thanks. Just wanted to clarify because we never had a discussion about the naming. |
lib/Driver/ToolChains/MinGW.cpp | ||
---|---|---|
130 | I believe this was left incase someone wanted to do windows ce in future. |
lib/Driver/ToolChains/MinGW.cpp | ||
---|---|---|
130 | Sure, I can add a todo. I wanted to add it, since technically, the modern windows on arm stuff is thumb, we should handle it if the user uses the triple thumbv7-windows-gnu (iirc, some of the tests do). |
I believe this was left incase someone wanted to do windows ce in future.
Can you add a todo like in CrossWindows.cpp in this case
// FIXME: this is incorrect for WinCE
or if we don't care about WinCE anymore just remove the TODO from CrossWindows?