summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
blob: 56eaaed4b7c4f33c4a6785fefc48a1f3fbfc09cc (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 3a94365c730d174a3c30c6d9282e6ca12d9ad091 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 14:35:35 -0800
Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86

The fix consist of allowing 64bit atomic ops for x86.
This should be safe for i586 and newer CPUs.
It also makes the synchronization more efficient.

Upstream-Status: Inappropriate [OE-Specific]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 sysdeps/x86/atomic-machine.h | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h
index cfd395087b..28a937c468 100644
--- a/sysdeps/x86/atomic-machine.h
+++ b/sysdeps/x86/atomic-machine.h
@@ -26,19 +26,14 @@
 #define LOCK_PREFIX "lock;"
 
 #define USE_ATOMIC_COMPILER_BUILTINS	1
+# define __HAVE_64B_ATOMICS		1
 
 #ifdef __x86_64__
-# define __HAVE_64B_ATOMICS		1
 # define SP_REG				"rsp"
 # define SEG_REG			"fs"
 # define BR_CONSTRAINT			"q"
 # define IBR_CONSTRAINT			"iq"
 #else
-/* Since the Pentium, i386 CPUs have supported 64-bit atomics, but the
-   i386 psABI supplement provides only 4-byte alignment for uint64_t
-   inside structs, so it is currently not possible to use 64-bit
-   atomics on this platform.  */
-# define __HAVE_64B_ATOMICS		0
 # define SP_REG				"esp"
 # define SEG_REG			"gs"
 # define BR_CONSTRAINT			"r"