1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 05:09:24 +00:00

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>
This commit is contained in:
Richard Purdie
2017-08-14 11:06:33 +01:00
parent 3ea11466b5
commit 27ea26e3d6
2 changed files with 26 additions and 0 deletions
+3
View File
@@ -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
@@ -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 <stdlib.h> /* for NULL */
#include <sys/random.h>
int main() {
- return getrandom(NULL, 0U, 0U);
+ return getrandomBREAKME(NULL, 0U, 0U);
}
])], [
AC_DEFINE([HAVE_GETRANDOM], [1],