Normally multiarch should be enabled (where available).
But sometimes disabling multiarch is useful:
- to workaround or validate bugs specific to selected
runtime arch or IFUNC handling.
- to get code that matches -march= CFLAGS setting
Bug: https://bugs.gentoo.org/659030
Package-Manager: Portage-2.3.40, Repoman-2.3.9
SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.bz2"
SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-IUSE="audit caps compile-locales doc gd hardened headers-only multilib nscd profile selinux suid systemtap vanilla"
+IUSE="audit caps compile-locales doc gd hardened headers-only +multiarch multilib nscd profile selinux suid systemtap vanilla"
# Minimum kernel version that glibc requires
MIN_KERN_VER="3.2.0"
}
use_multiarch() {
+ # Allow user to disable runtime arch detection in multilib.
+ use multiarch || return 1
# Make sure binutils is new enough to support indirect functions,
# #336792. This funky sed supports gold and bfd linkers.
local bver nver
SRC_URI+=" https://dev.gentoo.org/~dilfridge/distfiles/${P}-patches-${PATCH_VER}.tar.bz2"
SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-IUSE="audit caps compile-locales doc gd hardened headers-only multilib nscd profile selinux suid systemtap test vanilla"
+IUSE="audit caps compile-locales doc gd hardened headers-only +multiarch multilib nscd profile selinux suid systemtap test vanilla"
# Minimum kernel version that glibc requires
MIN_KERN_VER="3.2.0"
}
use_multiarch() {
+ # Allow user to disable runtime arch detection in multilib.
+ use multiarch || return 1
# Make sure binutils is new enough to support indirect functions,
# #336792. This funky sed supports gold and bfd linkers.
local bver nver
<flag name="compile-locales">build *all* locales in src_install; this is generally meant for stage building only as it ignores /etc/locale.gen file and can be pretty slow</flag>
<flag name="debug">When USE=hardened, allow fortify/stack violations to dump core (SIGABRT) and not kill self (SIGKILL)</flag>
<flag name="gd">build memusage and memusagestat tools</flag>
+ <flag name="multiarch">enable single DSO with optimizations for multiple architectures</flag>
<flag name="nscd">Build, and enable support for, the Name Service Cache Daemon</flag>
<flag name="rpc">Enable obsolete RPC/NIS layers</flag>
<flag name="suid">Make internal pt_chown helper setuid -- not needed if using Linux and have /dev/pts mounted with gid=5</flag>