From de5572deff36ecf7dd209600a94b3b7fb991cdc1 Mon Sep 17 00:00:00 2001 From: Victor Kamensky Date: Fri, 28 Feb 2020 23:55:46 -0800 Subject: make: disable use of posix_spawn on mips After make-4.3 migration child_execute_job function started using posix_spawn function, which happens to be broken on mips. It manifests itself as when make executed by root, it switches real user id to wrong value because of some issues with direct setresuid system call done in glibc __spawni_child function through inline assemble and/or gcc compiling it produces wrong code. I.e instead of passing -1 posix_spawn function incorrectly passes 127 as ruid. Subsequently job started by make can fail with permission issue because they run under wrong user. For now workaround is used by explicitly disabling posix_spawn call use by make on mips through configure variable. Signed-off-by: Victor Kamensky Signed-off-by: Richard Purdie --- meta/recipes-devtools/make/make_4.3.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/recipes-devtools/make/make_4.3.bb b/meta/recipes-devtools/make/make_4.3.bb index 70caf0ae16..ede90b9ef3 100644 --- a/meta/recipes-devtools/make/make_4.3.bb +++ b/meta/recipes-devtools/make/make_4.3.bb @@ -12,6 +12,11 @@ SRC_URI += "\ EXTRA_OECONF += "--without-guile" +# This was breaking on target kernel modules tests from testimage on mips/mips64. Likely a +# glibc issue in 2.31 which may be fixed in branch updates (testing pending). +EXTRA_OECONF_append_mips=" ac_cv_func_posix_spawn=no" +EXTRA_OECONF_append_mips64=" ac_cv_func_posix_spawn=no" + SRC_URI[md5sum] = "d5c40e7bd1e97a7404f5d3be982f479a" SRC_URI[sha256sum] = "de1a441c4edf952521db30bfca80baae86a0ff1acd0a00402999344f04c45e82" -- cgit 1.2.3-korg