Summary: | 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 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Ilya Yesin <iyesin+gentoo> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | iyesin+gentoo |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log.xz |
Description
Ilya Yesin
2019-05-21 21:46:55 UTC
Created attachment 577536 [details]
build.log.xz
> 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. (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) 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?
(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). Removing all -mno* from CFLAGS solved the issue. |