jumbo compilation error in v8 on some Android bots |
||
Issue description
FAILED: obj/v8/v8_base/v8_base_jumbo_6.o
/b/c/goma_client/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/v8/v8_base/v8_base_jumbo_6.o.d -DV8_DEPRECATION_WARNINGS -DNO_TCMALLOC -DSAFE_BROWSING_DB_REMOTE -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION_ROLL=r12b_1 -DCR_CLANG_REVISION=\"317263-2\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCOMPONENT_BUILD -D__GNU_SOURCE=1 -DCHROMIUM_CXX_TWEAK_INLINES -D__compiler_offsetof=__builtin_offsetof -Dnan=__builtin_nan -Dsnprintf=snprintf -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DBUILDING_V8_SHARED -DENABLE_DISASSEMBLER -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DOBJECT_PRINT -DVERIFY_HEAP -DV8_TRACE_MAPS -DV8_ENABLE_CHECKS -DV8_INTL_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_SNAPSHOT -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_CONCURRENT_MARKING -DV8_TARGET_ARCH_ARM64 -DDEBUG -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -DUSING_V8_BASE_SHARED -I. -I../.. -Igen -I../../v8 -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../v8/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -fcolor-diagnostics -no-canonical-prefixes -ffunction-sections -fno-short-enums --target=aarch64-linux-android -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -Wno-enum-compare-switch -Wno-tautological-unsigned-zero-compare -Wno-null-pointer-arithmetic -Wno-tautological-unsigned-enum-zero-compare -Wno-tautological-constant-compare -fno-omit-frame-pointer -g1 -fdebug-info-for-profiling -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-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wsign-compare -Winconsistent-missing-override -Wshorten-64-to-32 -O2 -fno-ident -fdata-sections -ffunction-sections -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=gnu++14 -fno-rtti -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include --sysroot=../../third_party/android_tools/ndk/platforms/android-21/arch-arm64 -fno-exceptions -fvisibility-inlines-hidden -c gen/base/trace_event/common/v8_base_jumbo_6.cc -o obj/v8/v8_base/v8_base_jumbo_6.o
In file included from gen/base/trace_event/common/v8_base_jumbo_6.cc:46:
./../../v8/src/layout-descriptor.cc:147:25: error: no matching function for call to 'CountTrailingZeros'
int sequence_length = CountTrailingZeros(value) - layout_bit_index;
^~~~~~~~~~~~~~~~~~
../../v8/src/arm64/utils-arm64.h:36:5: note: candidate function not viable: requires 2 arguments, but 1 was provided
int CountTrailingZeros(uint64_t value, int width);
^
In file included from gen/base/trace_event/common/v8_base_jumbo_6.cc:46:
./../../v8/src/layout-descriptor.cc:160:35: error: no matching function for call to 'CountTrailingZeros'
int cur_sequence_length = CountTrailingZeros(value);
^~~~~~~~~~~~~~~~~~
../../v8/src/arm64/utils-arm64.h:36:5: note: candidate function not viable: requires 2 arguments, but 1 was provided
int CountTrailingZeros(uint64_t value, int width);
^
2 errors generated.
,
Nov 8 2017
From https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/380804 which also has another Android fix in base that hasn't landed yet.
,
Nov 8 2017
Do you have an explanation why this failure happens? layout-descriptor.cc includes bits.h, but the CountTrailingZeros function from bits.h is not mentioned as candidate function.
,
Nov 8 2017
It's because the "using" statement in layout-descriptor.cc is in the global scope. utils-arm64.h has a CountTrailingZeros in the v8::internal namespace, which is the same namespace that the CountTrailingZeros references in layout-descriptor.cc are in. If you move it inside the v8::internal namespace in layout-descriptor.cc, then it should compile.
,
Nov 8 2017
Oh, IC. There are just two calls to CountTrailingZeros, we should just remove the using declaration IMO.
,
Nov 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/2974f2c162b0a7701096459df8a8d1b289ceca4f commit 2974f2c162b0a7701096459df8a8d1b289ceca4f Author: Mostyn Bramley-Moore <mostynb@vewd.com> Date: Wed Nov 08 14:47:15 2017 [jumbo] namespace fix for CountTrailingZeros Arm64 jumbo builds might otherwise select the CountTrailingZeros function from utils-arm64.h as a closer match, and fail to build due to differences in the function prototype. Bug: chromium:782640 Change-Id: Ie26d71b34aaf0e3ae5020597fed506df83b7d0ea Reviewed-on: https://chromium-review.googlesource.com/758271 Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com> Cr-Commit-Position: refs/heads/master@{#49226} [modify] https://crrev.com/2974f2c162b0a7701096459df8a8d1b289ceca4f/src/layout-descriptor.cc
,
Nov 9 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by brat...@opera.com
, Nov 8 2017