summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/expat
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-14 11:06:33 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-16 00:03:15 +0100
commit27ea26e3d674476d77257e731703f70faaba780b (patch)
tree51dcd9b623ee6ffdd55e644c143b7f913cb36ecd /meta/recipes-core/expat
parent3ea11466b5a748da3c136728b7088222af1ea24b (diff)
downloadpoky-27ea26e3d674476d77257e731703f70faaba780b.tar.gz
expat: Don't use getrandom() in the -native case
getrandom() is only available in glibc 2.25+ and uninative may relocate binaries onto systems that don't have this function. For now, force the code to the older codepath until we can come up with a better solution for this kind of issue. (From OE-Core rev: da9ac8092497c3f2c246d3534f47e42cb2d9e4e8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/expat')
-rw-r--r--meta/recipes-core/expat/expat.inc3
-rw-r--r--meta/recipes-core/expat/expat/no_getrandom.patch23
2 files changed, 26 insertions, 0 deletions
diff --git a/meta/recipes-core/expat/expat.inc b/meta/recipes-core/expat/expat.inc
index 067687e44a..0ee6c276d9 100644
--- a/meta/recipes-core/expat/expat.inc
+++ b/meta/recipes-core/expat/expat.inc
@@ -8,6 +8,9 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \
8 file://autotools.patch \ 8 file://autotools.patch \
9 file://libtool-tag.patch \ 9 file://libtool-tag.patch \
10 " 10 "
11
12SRC_URI_append_class-native = " file://no_getrandom.patch"
13
11inherit autotools lib_package 14inherit autotools lib_package
12 15
13# This package uses an archive format known to have issue with some 16# This package uses an archive format known to have issue with some
diff --git a/meta/recipes-core/expat/expat/no_getrandom.patch b/meta/recipes-core/expat/expat/no_getrandom.patch
new file mode 100644
index 0000000000..d64f1bf113
--- /dev/null
+++ b/meta/recipes-core/expat/expat/no_getrandom.patch
@@ -0,0 +1,23 @@
1The native version of expat may be used on older systems which dont have glibc 2.25
2and hence don't have getrandom() thanks to uninative. Disable the libc call and
3use the syscall instead to avoid a compatibility issue until we have 2.25 everywhere
4we support with uninative.
5
6RP
72017/8/14
8
9Upstream-Status: Inappropriate
10
11Index: expat-2.2.3/configure.ac
12===================================================================
13--- expat-2.2.3.orig/configure.ac
14+++ expat-2.2.3/configure.ac
15@@ -151,7 +151,7 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([
16 #include <stdlib.h> /* for NULL */
17 #include <sys/random.h>
18 int main() {
19- return getrandom(NULL, 0U, 0U);
20+ return getrandomBREAKME(NULL, 0U, 0U);
21 }
22 ])], [
23 AC_DEFINE([HAVE_GETRANDOM], [1],