summary refs log tree commit diff
path: root/gnu/packages/patches/libtgvoip-disable-sse2.patch
blob: 0e4faeab26950bf711c60d08fca6b764c18f1ff8 (plain) (blame)
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
44
45
46
47
48
49
50
51
Copied from Debian.

Description: Disable SSE2 code on i386
 This patch is not complete. A high-graded solution may use automatic switching
 between SSE2 and C++ implementations based on the results of runtime checks.
 The webrtc code already provides for one of them inside its GetCPUInfo function.
Bug-Debian: https://bugs.debian.org/892823
Author: Nicholas Guriev <guriev-ns@ya.ru>
Last-Update: Tue, 29 Jan 2019 23:26:38 +0300

--- a/libtgvoip.gyp
+++ b/libtgvoip.gyp
@@ -871,11 +871,7 @@
                 'WEBRTC_POSIX',
               ],
               'conditions': [
-                [ '"<!(uname -m)" == "i686"', {
-                  'cflags_cc': [
-                    '-msse2',
-                  ],
-                }], ['"<!(uname -s)" == "Linux"', {
+                [ '"<!(uname -s)" == "Linux"', {
                   'defines': [
                     'WEBRTC_LINUX',
                   ],
--- a/webrtc_dsp/rtc_base/system/arch.h
+++ b/webrtc_dsp/rtc_base/system/arch.h
@@ -28,7 +28,10 @@
 #define WEBRTC_ARCH_64_BITS
 #define WEBRTC_ARCH_LITTLE_ENDIAN
 #elif defined(_M_IX86) || defined(__i386__)
+#if defined(__SSE2__)
+// This macro is mostly used to detect SSE2 extension.
 #define WEBRTC_ARCH_X86_FAMILY
+#endif
 #define WEBRTC_ARCH_X86
 #define WEBRTC_ARCH_32_BITS
 #define WEBRTC_ARCH_LITTLE_ENDIAN
--- a/webrtc_dsp/typedefs.h
+++ b/webrtc_dsp/typedefs.h
@@ -28,7 +28,10 @@
 #define WEBRTC_ARCH_64_BITS
 #define WEBRTC_ARCH_LITTLE_ENDIAN
 #elif defined(_M_IX86) || defined(__i386__)
+#if defined(__SSE2__)
+// This macro is mostly used to detect SSE2 extension.
 #define WEBRTC_ARCH_X86_FAMILY
+#endif
 #define WEBRTC_ARCH_X86
 #define WEBRTC_ARCH_32_BITS
 #define WEBRTC_ARCH_LITTLE_ENDIAN