summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorJuro Bystricky <juro.bystricky@intel.com>2015-10-29 13:43:38 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-10-29 22:09:53 +0000
commitc86957aeb8ee30ca4a626c68fd2a70f7706fceac (patch)
tree3fa5ec5ea8ddaa64d35d15b5ca0890eda7e48408 /meta
parentb02c5f603783ff74ef48682f972daa7f26dbac8c (diff)
downloadpoky-c86957aeb8ee30ca4a626c68fd2a70f7706fceac.tar.gz
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. [YOCTO #8140] (From OE-Core rev: 2b8c7aa51f6ac7f79c4834e04b697c04afc8beaf) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/glibc/glibc/use_64bit_atomics.patch24
-rw-r--r--meta/recipes-core/glibc/glibc_2.22.bb1
2 files changed, 25 insertions, 0 deletions
diff --git a/meta/recipes-core/glibc/glibc/use_64bit_atomics.patch b/meta/recipes-core/glibc/glibc/use_64bit_atomics.patch
new file mode 100644
index 0000000000..eb7f2b29be
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/use_64bit_atomics.patch
@@ -0,0 +1,24 @@
1This patch alows using 64 bit atomic instructions on a
232 bit platform. This is safe, providing x86 is Pentium or
3later (would not work on i386, i486). Using 64 bit atomic
4instructions bypasses code containing a bug as documented in
5https://bugzilla.yoctoproject.org/show_bug.cgi?id=8140
6
7Upstream-Status: TBD
8
9Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
10
11
12Index: libc/sysdeps/i386/i486/bits/atomic.h
13===================================================================
14--- libc.orig/sysdeps/i386/i486/bits/atomic.h
15+++ libc/sysdeps/i386/i486/bits/atomic.h
16@@ -54,7 +54,7 @@ typedef uintmax_t uatomic_max_t;
17 # endif
18 #endif
19
20-#define __HAVE_64B_ATOMICS 0
21+#define __HAVE_64B_ATOMICS 1
22 #define USE_ATOMIC_COMPILER_BUILTINS 0
23
24
diff --git a/meta/recipes-core/glibc/glibc_2.22.bb b/meta/recipes-core/glibc/glibc_2.22.bb
index 020e417dd5..2494ad7d97 100644
--- a/meta/recipes-core/glibc/glibc_2.22.bb
+++ b/meta/recipes-core/glibc/glibc_2.22.bb
@@ -50,6 +50,7 @@ SRC_URI_append_class-nativesdk = "\
50 file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \ 50 file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \
51 file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \ 51 file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
52 file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \ 52 file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
53 file://use_64bit_atomics.patch \
53" 54"
54 55
55S = "${WORKDIR}/git" 56S = "${WORKDIR}/git"