From da9ac8092497c3f2c246d3534f47e42cb2d9e4e8 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 14 Aug 2017 11:06:33 +0100 Subject: 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. Signed-off-by: Richard Purdie --- meta/recipes-core/expat/expat.inc | 3 +++ meta/recipes-core/expat/expat/no_getrandom.patch | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 meta/recipes-core/expat/expat/no_getrandom.patch (limited to 'meta/recipes-core/expat') 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 \ file://autotools.patch \ file://libtool-tag.patch \ " + +SRC_URI_append_class-native = " file://no_getrandom.patch" + inherit autotools lib_package # 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 @@ +The native version of expat may be used on older systems which dont have glibc 2.25 +and hence don't have getrandom() thanks to uninative. Disable the libc call and +use the syscall instead to avoid a compatibility issue until we have 2.25 everywhere +we support with uninative. + +RP +2017/8/14 + +Upstream-Status: Inappropriate + +Index: expat-2.2.3/configure.ac +=================================================================== +--- expat-2.2.3.orig/configure.ac ++++ expat-2.2.3/configure.ac +@@ -151,7 +151,7 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([ + #include /* for NULL */ + #include + int main() { +- return getrandom(NULL, 0U, 0U); ++ return getrandomBREAKME(NULL, 0U, 0U); + } + ])], [ + AC_DEFINE([HAVE_GETRANDOM], [1], -- cgit 1.2.3-korg