Add clang 3.7 support and remove __FakePrologName to fix build (dotnet/coreclr#8904)
authorMaarten Mensink <maarten.mensink@dimensi.nl>
Thu, 12 Jan 2017 00:28:18 +0000 (01:28 +0100)
committerJan Vorlicek <janvorli@microsoft.com>
Thu, 12 Jan 2017 00:28:18 +0000 (01:28 +0100)
* add clang 3.7 support

* Removing

__FakePrologName="DelayLoad_Helper\suffix\()_FakeProlog"

based on https://github.com/dotnet/coreclr/issues/4332#issuecomment-271990909

Commit migrated from https://github.com/dotnet/coreclr/commit/7cdeedaa3b69d1dc4b0dc775ab85aa4c6d29b6ab

src/coreclr/src/ToolBox/SOS/lldbplugin/CMakeLists.txt
src/coreclr/src/vm/arm/asmhelpers.S

index 7f1fa77..8ae2c9b 100644 (file)
@@ -49,8 +49,8 @@ if(NOT ENABLE_LLDBPLUGIN)
 endif()
 
 # Check for LLDB library
-find_library(LLDB NAMES LLDB lldb lldb-3.8 lldb-3.6 lldb-3.5 PATHS "${WITH_LLDB_LIBS}" PATH_SUFFIXES llvm NO_DEFAULT_PATH)
-find_library(LLDB NAMES LLDB lldb lldb-3.8 lldb-3.6 lldb-3.5 PATH_SUFFIXES llvm)
+find_library(LLDB NAMES LLDB lldb lldb-3.8 lldb-3.7 lldb-3.6 lldb-3.5 PATHS "${WITH_LLDB_LIBS}" PATH_SUFFIXES llvm NO_DEFAULT_PATH)
+find_library(LLDB NAMES LLDB lldb lldb-3.8 lldb-3.7 lldb-3.6 lldb-3.5 PATH_SUFFIXES llvm)
 if(LLDB STREQUAL LLDB-NOTFOUND)
     if(REQUIRE_LLDBPLUGIN)
         message(FATAL_ERROR "Cannot find lldb-3.5, lldb-3.6 or lldb-3.8. Try installing lldb-3.6-dev (or the appropriate package for your platform)")
@@ -69,18 +69,21 @@ find_path(LLDB_H "lldb/API/LLDB.h")
 if(LLDB_H STREQUAL LLDB_H-NOTFOUND)
     find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/lib/llvm-3.8/include")
     if(LLDB_H STREQUAL LLDB_H-NOTFOUND)
-        find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/lib/llvm-3.6/include")
-        if(LLDB_H STREQUAL LLDB_H-NOTFOUND)
-            find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/lib/llvm-3.5/include")
-            if(LLDB_H STREQUAL LLDB_H-NOTFOUND)
-                if(REQUIRE_LLDBPLUGIN)
-                    message(FATAL_ERROR "Cannot find LLDB.h. Try installing lldb-3.6-dev (or the appropriate package for your platform)")
-                else()
-                    message(WARNING "Cannot find LLDB.h Try installing lldb-3.6-dev (or the appropriate package for your platform)")
-                endif()
-                return()
-            endif()
-        endif()
+               find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/lib/llvm-3.7/include")
+       if(LLDB_H STREQUAL LLDB_H-NOTFOUND)
+                       find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/lib/llvm-3.6/include")
+                       if(LLDB_H STREQUAL LLDB_H-NOTFOUND)
+                               find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/lib/llvm-3.5/include")
+                               if(LLDB_H STREQUAL LLDB_H-NOTFOUND)
+                                       if(REQUIRE_LLDBPLUGIN)
+                                               message(FATAL_ERROR "Cannot find LLDB.h. Try installing lldb-3.6-dev (or the appropriate package for your platform)")
+                                       else()
+                                               message(WARNING "Cannot find LLDB.h Try installing lldb-3.6-dev (or the appropriate package for your platform)")
+                                       endif()
+                                       return()
+                               endif()
+                       endif()
+               endif()
     endif()
 endif()
 
index 65dc513..04d7527 100644 (file)
@@ -1392,8 +1392,6 @@ DelayLoad_MethodCall:
 
     .macro DynamicHelper frameFlags, suffix
 
-__FakePrologName="DelayLoad_Helper\suffix\()_FakeProlog"
-
         NESTED_ENTRY DelayLoad_Helper\suffix\()_FakeProlog, _TEXT, NoHandler
 
         // Match what the lazy thunk has pushed. The actual method arguments will be spilled later.