[PATCH] D67869: [ABISysV] Fix regression for Simulator and MacABI

Jonas Devlieghere via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 23 12:04:30 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL372642: [ABISysV] Fix regression for Simulator and MacABI (authored by JDevlieghere, committed by ).
Herald added subscribers: llvm-commits, fedor.sergeev.
Herald added a project: LLVM.

Changed prior to commit:
  https://reviews.llvm.org/D67869?vs=221134&id=221380#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67869/new/

https://reviews.llvm.org/D67869

Files:
  lldb/trunk/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp


Index: lldb/trunk/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
===================================================================
--- lldb/trunk/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
+++ lldb/trunk/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
@@ -222,17 +222,33 @@
 ABISysV_x86_64::CreateInstance(lldb::ProcessSP process_sp, const ArchSpec &arch) {
   const llvm::Triple::ArchType arch_type = arch.GetTriple().getArch();
   const llvm::Triple::OSType os_type = arch.GetTriple().getOS();
+  const llvm::Triple::EnvironmentType os_env =
+      arch.GetTriple().getEnvironment();
   if (arch_type == llvm::Triple::x86_64) {
     switch(os_type) {
-      case llvm::Triple::OSType::MacOSX:
-      case llvm::Triple::OSType::Linux:
-      case llvm::Triple::OSType::FreeBSD:
-      case llvm::Triple::OSType::NetBSD:
-      case llvm::Triple::OSType::Solaris:
-      case llvm::Triple::OSType::UnknownOS:
+    case llvm::Triple::OSType::IOS:
+    case llvm::Triple::OSType::TvOS:
+    case llvm::Triple::OSType::WatchOS:
+      switch (os_env) {
+      case llvm::Triple::EnvironmentType::MacABI:
+      case llvm::Triple::EnvironmentType::Simulator:
+      case llvm::Triple::EnvironmentType::UnknownEnvironment:
+        // UnknownEnvironment is needed for older compilers that don't
+        // support the simulator environment.
         return ABISP(new ABISysV_x86_64(process_sp));
-      default: 
+      default:
         return ABISP();
+      }
+    case llvm::Triple::OSType::Darwin:
+    case llvm::Triple::OSType::FreeBSD:
+    case llvm::Triple::OSType::Linux:
+    case llvm::Triple::OSType::MacOSX:
+    case llvm::Triple::OSType::NetBSD:
+    case llvm::Triple::OSType::Solaris:
+    case llvm::Triple::OSType::UnknownOS:
+      return ABISP(new ABISysV_x86_64(process_sp));
+    default:
+      return ABISP();
     }
   }
   return ABISP();


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67869.221380.patch
Type: text/x-patch
Size: 1878 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190923/ac88ff4f/attachment.bin>


More information about the llvm-commits mailing list