commit: 4dfbdb5451ec3041b206bc057b5c1a2eb2a6b774 Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org> AuthorDate: Sat Jan 20 17:35:27 2018 +0000 Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org> CommitDate: Sat Jan 20 17:36:07 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4dfbdb54
sys-libs/glibc: Test for IA32 emulation before building amd64 multilib glibc, bug 326693. Based on the patch by Steven Presser. Closes: https://bugs.gentoo.org/326693 Package-Manager: Portage-2.3.19, Repoman-2.3.6 sys-libs/glibc/glibc-9999.ebuild | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 522a3674fe0..81dadb17794 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -701,6 +701,23 @@ pkg_pretend() { fi done fi + + # ABI-specific checks follow here. Hey, we have a lot more specific conditions that + # we test for... + if ! is_crosscompile ; then + + if use amd64 && use multilib ; then + ebegin "Checking that IA32 emulation is enabled in the running kernel" + echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c" + "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32" + "${T}/check-ia32-emulation.elf32" + local STAT=$? + rm -f "${T}/check-ia32-emulation.elf32" + eend $STAT + [ $STAT -eq 0 ] || die "CONFIG_IA32_EMULATION must be enabled in the kernel to compile a multilib glibc." + fi + + fi } # todo: shouldn't most of these checks be called also in src_configure again? # (since consistency is not guaranteed between pkg_ and src_)
