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_)

Reply via email to