Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 686516 - sys-libs/glibc-2.29-r3 - In file included from ../sysdeps/unix/sysv/linux/x86/elision-unlock.c:21: /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/rtmintrin.h:61:1: error: inlining failed in call to always_inline '_xend': target specific option mismatch
Summary: sys-libs/glibc-2.29-r3 - In file included from ../sysdeps/unix/sysv/linux/x86...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-21 21:46 UTC by Ilya Yesin
Modified: 2019-06-16 14:53 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.xz (build.log.xz,82.25 KB, application/x-xz)
2019-05-21 21:52 UTC, Ilya Yesin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ilya Yesin 2019-05-21 21:46:55 UTC
Tried to do emerge --update --newuse @world and got a bunch of messages like
```
error: inlining failed in call to always_inline '_xend': target specific option mismatch _xend (void)
```


Reproducible: Always

Steps to Reproduce:
1. have up to date gcc-8.3.0
2. Try to build sys-libs/glibc-2.29-r3

Actual Results:  
Compilation failed

Expected Results:  
Compilation and installation successful

> emerge --info
```
Portage 2.3.66 (python 2.7.13-final-42, default/linux/amd64/17.0, gcc-8.3.0, glibc-2.28-r6, 5.0.7-gentoo x86_64)
=================================================================
System uname: Linux-5.0.7-gentoo-x86_64-AMD_FX-tm-8320_Eight-Core_Processor-with-gentoo-2.6
KiB Mem:    16419296 total,   4040692 free
KiB Swap:    8388604 total,   8388604 free
Timestamp of repository gentoo: Tue, 21 May 2019 08:15:01 +0000
Head commit of repository gentoo: bfb7db429f932a872235dbf952ba0f805bec11ac
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
app-shells/bash:          4.4_p23-r1::gentoo
dev-lang/perl:            5.26.2::gentoo
dev-lang/python:          2.7.16::gentoo, 3.5.7::gentoo, 3.6.8::gentoo, 3.7.3::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.31.1-r6::gentoo, 2.32-r1::gentoo
sys-devel/gcc:            8.3.0-r1::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r5::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.14-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.28-r6::gentoo
Repositories:

lua
    location: /var/lib/layman/lua
    masters: gentoo
    priority: 50

mysql
    location: /var/lib/layman/mysql
    masters: gentoo
    priority: 50

nginx-overlay
    location: /var/lib/layman/nginx-overlay
    masters: gentoo
    priority: 50

rust
    location: /var/lib/layman/rust
    masters: gentoo
    priority: 50

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.europe.gentoo.org/gentoo-portage
    priority: 100
    sync-rsync-extra-opts: --timeout=300 --ipv4 --delete-delay
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-metamanifest: no

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -ftree-vectorize -finline-functions -funswitch-loops -march=bdver2 -mtune=bdver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mlwp -mfma -mfma4 -mxop -mbmi -mno-sgx -mno-bmi2 -mtbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mno-hle -mno-avx5124fmaps -mno-avx5124vnniw"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CPPFLAGS="-O2 -ftree-vectorize -finline-functions -funswitch-loops -march=bdver2 -mtune=bdver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mlwp -mfma -mfma4 -mxop -mbmi -mno-sgx -mno-bmi2 -mtbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mno-hle -mno-avx5124fmaps -mno-avx5124vnniw"
CXXFLAGS="-O2 -ftree-vectorize -finline-functions -funswitch-loops -march=bdver2 -mtune=bdver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mlwp -mfma -mfma4 -mxop -mbmi -mno-sgx -mno-bmi2 -mtbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mno-hle -mno-avx5124fmaps -mno-avx5124vnniw"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--ask --deep --with-bdeps y --tree"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs cgroup config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox lmirror merge-sync mirror multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.mirrors.ovh.net/gentoo-distfiles/ http://mirrors.evowise.com/gentoo/ rsync://rsync.de.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="zstd"
PORTAGE_COMPRESS_FLAGS="-3"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=300 --ipv4 --delete-delay"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl acpi aes alsa amd64 avahi avx berkdb bindist bzip2 cli crypt cryptsetup cxx dbus device-mapper djvu dri efi egl fortran gdbm git go gold gpm graphite highlight iconv idn iodbc ipv6 jemalloc jit jpeg kerberos ldap libtirpc lua luajit lvm2create_initrd lzma lzo math mktemp mmx mount multilib ncurses nls normalize nptl ntp odbc omudpspoof opencl openmp optimization overlays pam pam_krb5 pam_ssh pcre perl png python readline redis reencrypt relp rfc3195 rfc3779 rfc5424hmac samba sasl sctp seccomp securetty slp smartcard snmp sqlite sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 static-libs syslog tcpd threads udev unicode urandom usb usertools v4l vdpau vim-pager vim-syntax vulcan xattr xfs zlib" ABI_X86="32 64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx fma4 mmx mmxext sse sse2 sse4a sse4_1 sse4_2 ssse3 xop" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="coreboot efi-32 efi-64 multiboot pc qemu xen" INPUT_DEVICES="keyboard libinput mouse evdev synaptics tslib" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" NGINX_MODULES_HTTP="access auth_basic auth_pam auth_request auth_ldap autoindex browser charset empty_gif fastcgi geo gzip limit_conn limit_req map memcached proxy referer rewrite scgi split_clients ssi upstream_ip_hash userid uwsgi addition cache_purge http2 dav dav_ext geoip geoip2 gunzip gzip_static headers_more lua memc metrics mp4 perl push_stream realip secure_link slowfs_cache sticky stub_status sub upload_progress upstream_check xslt echo fancyindex flv image_filter mirror naxsi random_index slice upstream_hash upstream_keepalive upstream_least_conn upstream_zone brotli degradation grpc vhost_traffic_status" NGINX_MODULES_STREAM="access geo geoip geoip2 limit_conn map realip return split_clients ssl_preread upstream_hash upstream_least_conn upstream_zone" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="pypy python3_7 python3_6 python2_7" QEMU_SOFTMMU_TARGETS="x86_64 aarch64 alpha arm cris i386 mips mips64 mips64el mipsel ppc ppc64 ppcemb sparc sparc64 xtensa xtensaeb" QEMU_USER_TARGETS="x86_64 aarch64 alpha arm armeb cris i386 mips mips64 mips64el mipsel mipsn32 mipsn32el ppc ppc64 ppc64abi32 ppc64le sparc sparc32plus sparc64" RUBY_TARGETS="ruby26 ruby25 ruby24" USERLAND="GNU" VIDEO_CARDS="r600 amdgpu radeon radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND
```


> emerge -pqv
```
[ebuild     U ] sys-libs/glibc-2.29-r2 [2.28-r6] USE="multiarch (multilib) ssp -audit -caps (-cet) (-compile-locales) -doc -gd -headers-only -nscd -profile (-selinux) -suid -systemtap -test (-vanilla)"
```
Comment 1 Ilya Yesin 2019-05-21 21:52:38 UTC
Created attachment 577536 [details]
build.log.xz
Comment 2 Sergei Trofimovich (RETIRED) gentoo-dev 2019-05-22 06:41:19 UTC
> CPPFLAGS="-O2 -ftree-vectorize -finline-functions -funswitch-loops -march=bdver2 -mtune=bdver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mlwp -mfma -mfma4 -mxop -mbmi -mno-sgx -mno-bmi2 -mtbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mno-hle -mno-avx5124fmaps -mno-avx5124vnniw"
CXXFLAGS="-O2 -ftree-vectorize -finline-functions -funswitch-loops -march=bdver2 -mtune=bdver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mlwp -mfma -mfma4 -mxop -mbmi -mno-sgx -mno-bmi2 -mtbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mno-hle -mno-avx5124fmaps -mno-avx5124vnniw"

I suggest not using -mno-* flags in CFLAGS/CXXFLAGS as usually there is no need for it. It negates explicit extensions enabled by glibc build system for arch-specific runtime optimisations, like -mhle.

Something like
    $ diff -U0 <(gcc -Q --help=target) <(gcc -Q --help=target -march=native)
should yield only necessary changes WRT default values.

See bug #581602.
Comment 3 Sergei Trofimovich (RETIRED) gentoo-dev 2019-05-22 06:48:17 UTC
(In reply to Sergei Trofimovich from comment #2)
> > CPPFLAGS="-O2 -ftree-vectorize -finline-functions -funswitch-loops -march=bdver2 -mtune=bdver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a 
> Something like
>     $ diff -U0 <(gcc -Q --help=target) <(gcc -Q --help=target -march=native)
> should yield only necessary changes WRT default values.

Or in your case it would be
    $ diff -U0 <(gcc -Q --help=target -march=bdver2) <(gcc -Q --help=target -march=native)
Comment 4 Ilya Yesin 2019-05-22 21:11:36 UTC
Hello Sergei,

Thank you for quick reply!

> $ diff -U0 <(gcc -Q --help=target -march=bdver2) <(gcc -Q --help=target -march=native)

This command return no result (so, no difference).
Removing '-mno*' flags allowed build to finish.

One question on this topic: since there is no difference in output '-Q --help=target -march={bdver2,native}', would it be good idea to remove rest of '-m*' options from make.conf?
Comment 5 Sergei Trofimovich (RETIRED) gentoo-dev 2019-05-23 07:12:56 UTC
(In reply to Ilya Yesin from comment #4)
> Hello Sergei,
> 
> Thank you for quick reply!
> 
> > $ diff -U0 <(gcc -Q --help=target -march=bdver2) <(gcc -Q --help=target -march=native)
> 
> This command return no result (so, no difference).
> Removing '-mno*' flags allowed build to finish.
> 
> One question on this topic: since there is no difference in output '-Q
> --help=target -march={bdver2,native}', would it be good idea to remove rest
> of '-m*' options from make.conf?

Yes
    CFLAGS="-march=bdver2 -mtune=bdver2 --param=l1-cache-size=... --param=l1-cache-line-size=... --param=l2-cache-size="
should have the same effect on your system (except avoiding accidental -mno-* effect).
Comment 6 Ilya Yesin 2019-06-16 14:53:50 UTC
Removing all -mno* from CFLAGS solved the issue.