Compiling Chromium on a x86 host results in mmx related compile errors in media/base/vector_math.cc
Reported by
m...@gmx.net,
Nov 11
|
|||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36 Steps to reproduce the problem: 1. Use gn to compile Chromium on an x86 host for a x86 target. 2. Args used: gn gen --args= is_clang=true clang_use_chrome_plugins=false custom_toolchain="//build/toolchain/linux/unbundle:default" host_toolchain="//build/toolchain/linux/unbundle:default" is_debug=false is_component_build=false use_jumbo_build=false use_allocator="none" enable_nacl=false use_system_harfbuzz=true enable_hangout_services_extension=false enable_widevine=false use_cups=true use_gnome_keyring=false use_kerberos=false use_pulseaudio=true fieldtrial_testing_like_official_build=true use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false use_lld=false proprietary_codecs=true ffmpeg_branding="Chrome" google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" google_default_client_id="329227923882.apps.googleusercontent.com" google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu" target_cpu="x86" treat_warnings_as_errors=false fatal_linker_warnings=false out/Release What is the expected behavior? Chromium compiles successfully What went wrong? This bug is probably related to https://bugs.chromium.org/p/chromium/issues/detail?id=607938. Compile fails in vector_math.cc with output as follows: [779/16895] i686-pc-linux-gnu-clang++ -MMD -MF obj/media/shared_memory_support/vector_math.o.d -DMEDIA_SHMEM_IMPLEMENTATION -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DUSE_PULSEAUDIO -DDLOPEN_PULSEAUDIO -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -I../.. -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -no-canonical-prefixes -momit-leaf-frame-pointer -Wall -Wextra -Wimplicit-fallthrough -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-user-defined-warnings -Wno-unused-lambda-capture -Wno-null-pointer-arithmetic -Wno-enum-compare-switch -fno-omit-frame-pointer -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -std=c++14 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O2 -march=i686 -pipe -c ../../media/base/vector_math.cc -o obj/media/shared_memory_support/vector_math.o FAILED: obj/media/shared_memory_support/vector_math.o i686-pc-linux-gnu-clang++ -MMD -MF obj/media/shared_memory_support/vector_math.o.d -DMEDIA_SHMEM_IMPLEMENTATION -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DUSE_PULSEAUDIO -DDLOPEN_PULSEAUDIO -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -I../.. -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -no-canonical-prefixes -momit-leaf-frame-pointer -Wall -Wextra -Wimplicit-fallthrough -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-user-defined-warnings -Wno-unused-lambda-capture -Wno-null-pointer-arithmetic -Wno-enum-compare-switch -fno-omit-frame-pointer -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -std=c++14 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O2 -march=i686 -pipe -c ../../media/base/vector_math.cc -o obj/media/shared_memory_support/vector_math.o ../../media/base/vector_math.cc:98:20: error: always_inline function '_mm_set_ps1' requires target feature 'mmx', but would be inlined into function 'FMUL_SSE' that is compiled without support for 'mmx' __m128 m_scale = _mm_set_ps1(scale); ^ ../../media/base/vector_math.cc:100:5: error: always_inline function '_mm_store_ps' requires target feature 'mmx', but would be inlined into function 'FMUL_SSE' that is compiled without support for 'mmx' _mm_store_ps(dest + i, _mm_mul_ps(_mm_load_ps(src + i), m_scale)); ^ ../../media/base/vector_math.cc:100:28: error: always_inline function '_mm_mul_ps' requires target feature 'mmx', but would be inlined into function 'FMUL_SSE' that is compiled without support for 'mmx' _mm_store_ps(dest + i, _mm_mul_ps(_mm_load_ps(src + i), m_scale)); ^ ../../media/base/vector_math.cc:100:39: error: always_inline function '_mm_load_ps' requires target feature 'mmx', but would be inlined into function 'FMUL_SSE' that is compiled without support for 'mmx' _mm_store_ps(dest + i, _mm_mul_ps(_mm_load_ps(src + i), m_scale)); ^ ../../media/base/vector_math.cc:110:20: error: always_inline function '_mm_set_ps1' requires target feature 'mmx', but would be inlined into function 'FMAC_SSE' that is compiled without support for 'mmx' __m128 m_scale = _mm_set_ps1(scale); ^ ../../media/base/vector_math.cc:112:5: error: always_inline function '_mm_store_ps' requires target feature 'mmx', but would be inlined into function 'FMAC_SSE' that is compiled without support for 'mmx' _mm_store_ps(dest + i, _mm_add_ps(_mm_load_ps(dest + i), ^ ../../media/base/vector_math.cc:112:28: error: always_inline function '_mm_add_ps' requires target feature 'mmx', but would be inlined into function 'FMAC_SSE' that is compiled without support for 'mmx' _mm_store_ps(dest + i, _mm_add_ps(_mm_load_ps(dest + i), ^ ../../media/base/vector_math.cc:112:39: error: always_inline function '_mm_load_ps' requires target feature 'mmx', but would be inlined into function 'FMAC_SSE' that is compiled without support for 'mmx' _mm_store_ps(dest + i, _mm_add_ps(_mm_load_ps(dest + i), ^ ../../media/base/vector_math.cc:113:18: error: always_inline function '_mm_mul_ps' requires target feature 'mmx', but would be inlined into function 'FMAC_SSE' that is compiled without support for 'mmx' _mm_mul_ps(_mm_load_ps(src + i), m_scale))); ^ ../../media/base/vector_math.cc:113:29: error: always_inline function '_mm_load_ps' requires target feature 'mmx', but would be inlined into function 'FMAC_SSE' that is compiled without support for 'mmx' _mm_mul_ps(_mm_load_ps(src + i), m_scale))); ^ ../../media/base/vector_math.cc:146:38: error: always_inline function '_mm_set_ps1' requires target feature 'mmx', but would be inlined into function 'EWMAAndMaxPower_SSE' that is compiled without support for 'mmx' const __m128 smoothing_factor_x4 = _mm_set_ps1(smoothing_factor); ^ ../../media/base/vector_math.cc:148:33: error: always_inline function '_mm_set_ps1' requires target feature 'mmx', but would be inlined into function 'EWMAAndMaxPower_SSE' that is compiled without support for 'mmx' const __m128 weight_prev_x4 = _mm_set_ps1(weight_prev); ^ ../../media/base/vector_math.cc:150:7: error: always_inline function '_mm_mul_ps' requires target feature 'mmx', but would be inlined into function 'EWMAAndMaxPower_SSE' that is compiled without support for 'mmx' _mm_mul_ps(weight_prev_x4, weight_prev_x4); ^ ../../media/base/vector_math.cc:152:7: error: always_inline function '_mm_mul_ps' requires target feature 'mmx', but would be inlined into function 'EWMAAndMaxPower_SSE' that is compiled without support for 'mmx' _mm_mul_ps(weight_prev_squared_x4, weight_prev_squared_x4); ^ ../../media/base/vector_math.cc:156:19: error: always_inline function '_mm_setzero_ps' requires target feature 'mmx', but would be inlined into function 'EWMAAndMaxPower_SSE' that is compiled without support for 'mmx' __m128 max_x4 = _mm_setzero_ps(); ^ ../../media/base/vector_math.cc:157:20: error: always_inline function '_mm_setr_ps' requires target feature 'mmx', but would be inlined into function 'EWMAAndMaxPower_SSE' that is compiled without support for 'mmx' __m128 ewma_x4 = _mm_setr_ps(0.0f, 0.0f, 0.0f, initial_value); ^ ../../media/base/vector_math.cc:160:15: error: always_inline function '_mm_mul_ps' requires target feature 'mmx', but would be inlined into function 'EWMAAndMaxPower_SSE' that is compiled without support for 'mmx' ewma_x4 = _mm_mul_ps(ewma_x4, weight_prev_4th_x4); ^ ../../media/base/vector_math.cc:161:30: error: always_inline function '_mm_load_ps' requires target feature 'mmx', but would be inlined into function 'EWMAAndMaxPower_SSE' that is compiled without support for 'mmx' const __m128 sample_x4 = _mm_load_ps(src + i); ^ ../../media/base/vector_math.cc:162:38: error: always_inline function '_mm_mul_ps' requires target feature 'mmx', but would be inlined into function 'EWMAAndMaxPower_SSE' that is compiled without support for 'mmx' const __m128 sample_squared_x4 = _mm_mul_ps(sample_x4, sample_x4); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. ninja: build stopped: subcommand failed. Did this work before? N/A Chrome version: 70.0.3538.67 Channel: beta OS Version: 4.14.78-gentoo Flash Version: -
,
Nov 12
,
Nov 12
mopf@ Thanks for the issue. This issue is out of scope of triaging at TE end as it is related to Build. Hence adding 'TE-NeedsTriageHelp' label and requesting 'Build' team to look into the issue and help in further triaging. Thanks..
,
Nov 17
A little update on this: chromium 65.0.3315.3 builds fine...
,
Nov 25
Seems like the problem was due to ambiguous CFLAGS / CXXFLAGS settings. Has been fixed here: https://bugs.gentoo.org/671412 |
|||
►
Sign in to add a comment |
|||
Comment 1 by m...@gmx.net
, Nov 11