summaryrefslogtreecommitdiff
path: root/packaging/0047-Launching-the-Memory-Profiler-on-x86-emulator-may-le.patch
blob: bdbbc7bfc310b5c560dc72c6cf97eacd53b70886 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
From 2f6cf609fe91270a416219c95e7f512108f34185 Mon Sep 17 00:00:00 2001
From: Sergey Ignatov <sergign60@mail.ru>
Date: Fri, 8 Jun 2018 19:50:47 +0300
Subject: [PATCH 47/47] Launching the Memory Profiler on x86 emulator may lead
 to crash in coreclr (xmm bug)

---
 src/pal/src/CMakeLists.txt  | 2 ++
 src/utilcode/CMakeLists.txt | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/src/pal/src/CMakeLists.txt b/src/pal/src/CMakeLists.txt
index b8a9fe9..2f877ac 100644
--- a/src/pal/src/CMakeLists.txt
+++ b/src/pal/src/CMakeLists.txt
@@ -91,6 +91,8 @@ elseif(PAL_CMAKE_PLATFORM_ARCH_ARM64)
 elseif(PAL_CMAKE_PLATFORM_ARCH_I386)
   add_definitions(-DBIT32=1)
   set(PAL_ARCH_SOURCES_DIR i386)
+  # Workaround to avoid generating sse insts for profiler
+  add_compile_options(-mno-sse -mno-avx)
 endif()
 
 if(PAL_CMAKE_PLATFORM_ARCH_AMD64 AND CMAKE_SYSTEM_NAME STREQUAL Linux AND NOT CLR_CMAKE_PLATFORM_ALPINE_LINUX)
diff --git a/src/utilcode/CMakeLists.txt b/src/utilcode/CMakeLists.txt
index dfe830d..90cb584 100644
--- a/src/utilcode/CMakeLists.txt
+++ b/src/utilcode/CMakeLists.txt
@@ -126,6 +126,11 @@ if(CLR_CMAKE_PLATFORM_UNIX)
     add_compile_options(-fPIC)
 endif(CLR_CMAKE_PLATFORM_UNIX)
 
+if(CLR_CMAKE_PLATFORM_ARCH_I386)
+    # Workaround to avoid generating sse insts for profiler
+    add_compile_options(-mno-sse -mno-avx)
+endif(CLR_CMAKE_PLATFORM_ARCH_I386)
+
 add_subdirectory(dac)
 add_subdirectory(dyncrt)
 add_subdirectory(staticnohost)
-- 
2.7.4