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.

(From OE-Core rev: de5572deff36ecf7dd209600a94b3b7fb991cdc1)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Victor Kamensky
2020-02-28 23:55:46 -08:00
committed by Richard Purdie
parent 1735b8ae62
commit 1ae1fb6f14

View File

@@ -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"