diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-08-14 11:06:33 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-11 22:15:58 +0100 |
| commit | 960a653e0ca0a1fac5708974b6f0f1ae94430ebe (patch) | |
| tree | 30d0c3af7834c388f7764449b8e36969da67f01e /meta/recipes-core/expat | |
| parent | 3f97cd3514f3e6025788ab7d6eec586fb7ac542f (diff) | |
| download | poky-960a653e0ca0a1fac5708974b6f0f1ae94430ebe.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)
(From OE-Core rev: 450942db7f4638eba7ec262901fe1d7e1b1f6070)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/expat')
| -rw-r--r-- | meta/recipes-core/expat/expat.inc | 3 | ||||
| -rw-r--r-- | meta/recipes-core/expat/expat/no_getrandom.patch | 23 |
2 files changed, 26 insertions, 0 deletions
diff --git a/meta/recipes-core/expat/expat.inc b/meta/recipes-core/expat/expat.inc index 9fa0ca2eb3..8bfd0bf26c 100644 --- a/meta/recipes-core/expat/expat.inc +++ b/meta/recipes-core/expat/expat.inc | |||
| @@ -7,6 +7,9 @@ LICENSE = "MIT" | |||
| 7 | SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \ | 7 | SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \ |
| 8 | file://autotools.patch \ | 8 | file://autotools.patch \ |
| 9 | " | 9 | " |
| 10 | |||
| 11 | SRC_URI_append_class-native = " file://no_getrandom.patch" | ||
| 12 | |||
| 10 | inherit autotools lib_package | 13 | inherit autotools lib_package |
| 11 | 14 | ||
| 12 | # This package uses an archive format known to have issue with some | 15 | # 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 @@ | |||
| 1 | The native version of expat may be used on older systems which dont have glibc 2.25 | ||
| 2 | and hence don't have getrandom() thanks to uninative. Disable the libc call and | ||
| 3 | use the syscall instead to avoid a compatibility issue until we have 2.25 everywhere | ||
| 4 | we support with uninative. | ||
| 5 | |||
| 6 | RP | ||
| 7 | 2017/8/14 | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate | ||
| 10 | |||
| 11 | Index: 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], | ||
