Compiling Chromium on a x86 host using gn doesn't add -msse2 flag, resulting in compile errors
Reported by
saiarcot...@gmail.com,
Apr 29 2016
|
||
Issue description
UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/51.0.2679.0 Chrome/51.0.2679.0 Safari/537.36
Steps to reproduce the problem:
Use gn to compile Chromium on an x86 host for a x86 target.
Args used: treat_warnings_as_errors=false use_sysroot=false enable_nacl=false linux_use_bundled_binutils=false use_gold=false enable_hidpi=true enable_widevine=true fieldtrial_testing_like_official_build=true target_cpu="x86" use_allocator="none" remove_webcore_debug_symbols=true is_clang=false is_component_build=true proprietary_codecs=true
What is the expected behavior?
Chromium compiles successfully
What went wrong?
Compiling media/base/vector_math.cc fails due to GCC errors (likely because -msse2 wasn't added).
Error message:
FAILED: g++ -MMD -MF obj/media/shared_memory_support/vector_math.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -DENABLE_MDNS=1 -DENABLE_NOTIFICATIONS -DENABLE_PEPPER_CDMS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_CLIPBOARD_AURAX11=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DENABLE_WEBRTC=1 -DDISABLE_NACL -DENABLE_EXTENSIONS=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_TOPCHROME_MD=1 -DUSE_PROPRIETARY_CODECS -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCOMPONENT_BUILD -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DUSE_PULSEAUDIO -DDLOPEN_PULSEAUDIO -DMEDIA_IMPLEMENTATION -I../.. -Igen -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m32 -Wall -Wno-unused-local-typedefs -Wno-missing-field-initializers -Wno-unused-parameter -O0 -g2 -fvisibility=hidden -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -Wno-narrowing -fno-rtti -fno-exceptions -c ../../media/base/vector_math.cc -o obj/media/shared_memory_support/vector_math.o
../../media/base/vector_math.cc: In function ‘void media::vector_math::FMUL_SSE(const float*, float, int, float*)’:
../../media/base/vector_math.cc:96:37: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
__m128 m_scale = _mm_set_ps1(scale);
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from ../../media/base/vector_math.cc:8:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:895:1: error: inlining failed in call to always_inline ‘__m128 _mm_set_ps1(float)’: target specific option mismatch
_mm_set_ps1 (float __F)
^
../../media/base/vector_math.cc:96:37: error: called from here
__m128 m_scale = _mm_set_ps1(scale);
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from ../../media/base/vector_math.cc:8:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:971:1: error: inlining failed in call to always_inline ‘void _mm_store_ps(float*, __m128)’: target specific option mismatch
_mm_store_ps (float *__P, __m128 __A)
^
../../media/base/vector_math.cc:98:70: error: called from here
_mm_store_ps(dest + i, _mm_mul_ps(_mm_load_ps(src + i), m_scale));
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from ../../media/base/vector_math.cc:8:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:193:1: error: inlining failed in call to always_inline ‘__m128 _mm_mul_ps(__m128, __m128)’: target specific option mismatch
_mm_mul_ps (__m128 __A, __m128 __B)
^
../../media/base/vector_math.cc:98:17: error: called from here
_mm_store_ps(dest + i, _mm_mul_ps(_mm_load_ps(src + i), m_scale));
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from ../../media/base/vector_math.cc:8:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:922:1: error: inlining failed in call to always_inline ‘__m128 _mm_load_ps(const float*)’: target specific option mismatch
_mm_load_ps (float const *__P)
^
../../media/base/vector_math.cc:98:17: error: called from here
_mm_store_ps(dest + i, _mm_mul_ps(_mm_load_ps(src + i), m_scale));
Did this work before? N/A
Chrome version: 51.0.2679.0 Channel: n/a
OS Version:
Flash Version:
,
May 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bfb9e9ef5c13843e22a74a7bced0d48b6f42c112 commit bfb9e9ef5c13843e22a74a7bced0d48b6f42c112 Author: saiarcot895 <saiarcot895@gmail.com> Date: Fri May 06 23:42:18 2016 Add SSE2/MMX build flags when building on an x86 host. This is necessary because some files use SSE2 extensions, which may not be available on all x86 CPUs. BUG= 607938 R=dpranke@chromium.org Review-Url: https://codereview.chromium.org/1952043003 Cr-Commit-Position: refs/heads/master@{#392206} [modify] https://crrev.com/bfb9e9ef5c13843e22a74a7bced0d48b6f42c112/build/config/compiler/BUILD.gn
,
May 8 2017
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot |
||
►
Sign in to add a comment |
||
Comment 1 by ajha@chromium.org
, May 3 2016Labels: Te-NeedsFurtherTriage