New issue
Advanced search Search tips

Issue 619503 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue 432959
issue 605732



Sign in to add a comment

32-bit x86 with 32-bit v8 arm config doesn't work with gn

Project Member Reported by thakis@chromium.org, Jun 13 2016

Issue description

On the LKGR waterfall (and maybe elsewhere?) we have bots that do 32-bit x86 builds, but build with 32-bit arm v8.

This seems to not work in gn builds, here's a broken build after flipping these bots to gn:
https://build.chromium.org/p/chromium.lkgr/builders/ASan%20Debug%20%2832-bit%20x86%20with%20V8-ARM%29/builds/2477/steps/compile/logs/stdio

FAILED: clang_x64/obj/v8/v8_base/strings-storage.o 
/mnt/data/b/build/slave/cache/cipd/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF clang_x64/obj/v8/v8_base/strings-storage.o.d -DV8_DEPRECATION_WARNINGS -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 -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_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=270823-1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DCOMPONENT_BUILD -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_GLIBCXX_DEBUG=1 -DV8_SHARED -DBUILDING_V8_SHARED -DVERIFY_HEAP -DV8_I18N_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_TARGET_ARCH_IA32 -DENABLE_DISASSEMBLER -DV8_ENABLE_CHECKS -DOBJECT_PRINT -DVERIFY_HEAP -DDEBUG -DTRACE_MAPS -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_NOEXCEPT= -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Iclang_x64/gen -I../../v8 -I../../v8/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -fcolor-diagnostics -fdebug-prefix-map=/mnt/data/b/build/slave/ASan_Debug__32-bit_x86_with_V8-ARM_/build/src=. -pthread -m64 -march=x86-64 -g2 -gsplit-dwarf --sysroot=../../build/linux/debian_wheezy_amd64-sysroot -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-templates -Xclang -plugin-arg-find-bad-constructs -Xclang follow-macro-expansion -Xclang -plugin-arg-find-bad-constructs -Xclang check-implicit-copy-ctors -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Werror -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -O2 -fno-ident -fdata-sections -ffunction-sections -fno-threadsafe-statics -fvisibility-inlines-hidden -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=gnu++11 -fno-rtti -fno-exceptions -Wno-deprecated -c ../../v8/src/profiler/strings-storage.cc -o clang_x64/obj/v8/v8_base/strings-storage.o
In file included from ../../v8/src/profiler/strings-storage.cc:5:
In file included from ../../v8/src/profiler/strings-storage.h:8:
In file included from ../../v8/src/allocation.h:8:
In file included from ../../v8/src/globals.h:13:
../../v8/src/base/build_config.h:145:2: error: Target architecture ia32 is only supported on ia32 host
#error Target architecture ia32 is only supported on ia32 host
 ^
1 error generated.


I'll take a look, but I know nothing about this build config, so if someone wants to offer hints: I'll take them.
 
Gn also spits out an error while the step stays green:
https://build.chromium.org/p/chromium.lkgr/builders/ASan%20Debug%20%2832-bit%20x86%20with%20V8-ARM%29/builds/2477/steps/generate_build_files/logs/stdio

The thing is still called v8_target_arch

Comment 2 by thakis@chromium.org, Jun 13 2016

Oh, that seems bad, thanks for spotting that! I'll try to take a look at that too.

Comment 3 by thakis@chromium.org, Jun 13 2016

It looks like this is supposed to just be a warning, not an error, by design in gn. That seems like a bad decision to me; I commented on https://codereview.chromium.org/1907613002/#msg24 . There's a TODO to print warnings as something else than "ERROR" (but I think it's better to not have warnings, only errors.)

Comment 4 by thakis@chromium.org, Jun 13 2016

Status: Started (was: Untriaged)
https://codereview.chromium.org/2066483002/
Blocking: 432959
Owner: dpranke@chromium.org
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/909e931c942774a052b493bd0061325502373f3a

commit 909e931c942774a052b493bd0061325502373f3a
Author: dpranke <dpranke@chromium.org>
Date: Thu Jun 16 18:43:35 2016

Rework v8_target_arch / target_cpu approach to use v8_target_cpu.

This CL reworks how we get architecture-specific build args configured
correctly so that they will be set when needed for either the
current_cpu in the build toolchain *or* when needed to compile v8
correctly. Eventually we should rework this so that it is a generic
concept and not v8 specific.

R=brettw@chromium.org, thakis@chromium.org, jochen@chromium.org, machenbach@chromium.org
BUG= 619503 , 620527

Review-Url: https://codereview.chromium.org/2070653003
Cr-Commit-Position: refs/heads/master@{#400219}

[modify] https://crrev.com/909e931c942774a052b493bd0061325502373f3a/build/config/arm.gni
[modify] https://crrev.com/909e931c942774a052b493bd0061325502373f3a/build/config/mips.gni
[add] https://crrev.com/909e931c942774a052b493bd0061325502373f3a/build/config/v8_target_cpu.gni

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 17 2016

Status: Fixed (was: Started)
I believe this should be fixed now. I've re-landed the MB change that flips the LKGR builders to GN, and we can see what happens ...

Sign in to add a comment