Reapply 56585:56589 with proper fix for some gcc versions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56621 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp
index 0613078..29a9d84 100644
--- a/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/lib/Target/ARM/ARMTargetMachine.cpp
@@ -120,7 +120,7 @@
    case ARMSubtarget::isELF:
     return new ARMELFTargetAsmInfo(*this);
    default:
-    return new ARMTargetAsmInfo(*this);
+    return new ARMGenericTargetAsmInfo(*this);
   }
 }