New issue
Advanced search Search tips

Issue 922089 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 16
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue 890307



Sign in to add a comment

Chromium build for aarch64 is broken again

Project Member Reported by cavalcantii@chromium.org, Jan 15

Issue description

Build fails with:
adenilson@chrome-monster:~/chromium/src$ time ninja -C out/armlinux zlib_bench image_decode_bench -j2
ninja: Entering directory `out/armlinux'
[1/8875] CXX obj/third_party/swiftshader/third_party/llvm-7.0/swiftshader_llvm/CompileOnDemandLayer.o
FAILED: obj/third_party/swiftshader/third_party/llvm-7.0/swiftshader_llvm/CompileOnDemandLayer.o 
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/swiftshader/third_party/llvm-7.0/swiftshader_llvm/CompileOnDemandLayer.o.d -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 -DCR_CLANG_REVISION=\"350768-2\" -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=349080 -DCR_LIBCXXABI_REVISION=347903 -D_LIBCPP_ABI_UNSTABLE -D_LIBCPP_ENABLE_NODISCARD -DCR_SYSROOT_HASH=953c2471bc7e71a788309f6c2d2003e8b703305d -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DNO_SANITIZE_FUNCTION=__attribute__\(\(no_sanitize\(\"function\"\)\)\) -DANGLE_DISABLE_TRACE -DNDEBUG -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/include -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/Target/AArch64 -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/Target/ARM -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/Target/Mips -I../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/Target/X86 -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/include -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/IR -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Target/AArch64 -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Target/ARM -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Target/Mips -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Target/X86 -I../../third_party/swiftshader/third_party/llvm-7.0/configs/common/lib/Transforms/InstCombine -I../../third_party/swiftshader/third_party/llvm-7.0/configs/linux/include -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 -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -no-canonical-prefixes -fcomplete-member-pointers --target=aarch64-linux-gnu -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Werror -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -std=c++11 -fno-exceptions -fno-operator-names -ffunction-sections -fdata-sections -fomit-frame-pointer -Os -Wno-header-hygiene -Wno-attributes -Wno-deprecated-declarations -Wno-enum-compare -Wno-unused-function -Wno-unused-local-typedef -Wno-unused-private-field -Wno-unused-result -Wno-unused-variable -Wno-error=header-hygiene -std=c++14 -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_sid_arm64-sysroot -fvisibility-inlines-hidden -c ../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp -o obj/third_party/swiftshader/third_party/llvm-7.0/swiftshader_llvm/CompileOnDemandLayer.o
In file included from ../../third_party/swiftshader/third_party/llvm-7.0/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp:10:
In file included from ../../third_party/swiftshader/third_party/llvm-7.0/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h:23:
In file included from ../../third_party/swiftshader/third_party/llvm-7.0/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h:21:
../../third_party/swiftshader/third_party/llvm-7.0/llvm/include/llvm/ExecutionEngine/Orc/Core.h:129:3: error: explicitly defaulted move assignment operator is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
  operator=(MaterializationResponsibility &&) = default;
  ^
../../third_party/swiftshader/third_party/llvm-7.0/llvm/include/llvm/ExecutionEngine/Orc/Core.h:193:8: note: move assignment operator of 'MaterializationResponsibility' is implicitly deleted because field 'V' is of reference type 'llvm::orc::VSO &'
  VSO &V;
       ^
1 error generated.

-------------------------------

Configuration used:
########################
target_os = "linux"
target_cpu = "arm64"  # (default)
is_debug = false  # (default)

# Other args you may want to set:
#is_component_build = true
is_clang = true
symbol_level = 0

Seems pretty similar to a previous build regression (https://bugs.chromium.org/p/chromium/issues/detail?id=905480).

You guys could have a quick look?

 
Status: Available (was: Untriaged)
I think the only recent change to the relevant build file was:
https://swiftshader-review.googlesource.com/c/SwiftShader/+/23508

But I don't quite see how that affects CompileOnDemandLayer.
The fix was Windows specific, so maybe the "is_win" condition wasn't necessary. 
It may help to pin-point the regression: I recall before going on vacations (i.e. 1 month ago) that the build was broken with the aforementioned compiler error.

Ok, did it ever work? ARM64 support for LLVM was added in November 2018.
At least the build was working, otherwise I wouldn't be able to profile layout code (Nov 9th):
https://bugs.chromium.org/p/chromium/issues/detail?id=903973#c3

So something changed in swiftshader between the last time it was working (early December) and now.
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 16 (6 days ago)

The following revision refers to this bug:
  https://swiftshader.googlesource.com/SwiftShader.git/+/fed67899a7b44c9409e94442eaca0deab2f809e3

commit fed67899a7b44c9409e94442eaca0deab2f809e3
Author: Alexis Hetu <sugoi@google.com>
Date: Wed Jan 16 14:50:57 2019

Fixed build on Arm 64

A few warnings were causing build errors on Arm 64.
Since we don't want to modify the LLVM code itself,
the warnings in the LLVM code are now suppressed.

 Bug chromium:922089 

Change-Id: I7e8827cda5117e8817342930dca8d7b7f90d339c
Reviewed-on: https://swiftshader-review.googlesource.com/c/23628
Tested-by: Alexis Hétu <sugoi@google.com>
Tested-by: Corentin Wallez <cwallez@google.com>
Reviewed-by: Corentin Wallez <cwallez@google.com>

[modify] https://crrev.com/fed67899a7b44c9409e94442eaca0deab2f809e3/src/Reactor/BUILD.gn
[modify] https://crrev.com/fed67899a7b44c9409e94442eaca0deab2f809e3/third_party/llvm-7.0/BUILD.gn

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 16 (6 days ago)

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

commit 5bf4ce982344be6b58d9501447e1d385bf4ec3d5
Author: Alexis Hetu <sugoi@google.com>
Date: Wed Jan 16 19:52:12 2019

Roll SwiftShader 24e7192..fed6789

https://swiftshader.googlesource.com/SwiftShader.git/+log/24e7192..fed6789

BUG= 922089 

TBR=kbr@chromium.org

TEST=bots

CQ_INCLUDE_TRYBOTS=luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:android_optional_gpu_tests_rel

Change-Id: I62052874296f2d2582c58bb9101040b03f0e2846
Reviewed-on: https://chromium-review.googlesource.com/c/1414313
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623335}
[modify] https://crrev.com/5bf4ce982344be6b58d9501447e1d385bf4ec3d5/DEPS

Comment 8 by sugoi@chromium.org, Jan 16 (6 days ago)

Cc: -sugoi@chromium.org
Owner: sugoi@chromium.org
Status: Fixed (was: Available)

Comment 9 by capn@chromium.org, Jan 16 (6 days ago)

Blocking: 890307

Comment 10 by cavalcantii@chromium.org, Jan 16 (6 days ago)

I confirm the fix is fine, thanks a lot for working on this.

Comment 11 by h...@chromium.org, Jan 17 (5 days ago)

This warning was fixed in LLVM 7.0.1, which was released late last year. Since Swiftshader seems to be using the LLVM 7 branch, maybe it could upgrade to the new release?

Sign in to add a comment