Bug 219395 - [JSC] Aarch64 build failure
Summary: [JSC] Aarch64 build failure
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Sergey Rubanov
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-12-01 06:08 PST by Lauro Moura
Modified: 2020-12-01 12:04 PST (History)
9 users (show)

See Also:


Attachments
Patch (1.36 KB, patch)
2020-12-01 06:47 PST, Sergey Rubanov
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Lauro Moura 2020-12-01 06:08:52 PST
The JSC-Only Aarch64 bot[1] is failing with the following error:

```
/usr/bin/ccache /home/buildbot/linaro/toolchain/bin/aarch64-linux-gnu-g++ --sysroot=/home/buildbot/linaro/toolchain/sysroot  -DBUILDING_JSCONLY__ -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DSTATICALLY_LINKED_WITH_WTF -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-attributes -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare  -fno-strict-aliasing -fno-exceptions -fno-rtti -O3 -DNDEBUG -fPIC   -std=c++1z -MD -MT Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o -MF Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o -c ../../Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
/tmp/ccYwnhHg.s: Assembler messages:
/tmp/ccYwnhHg.s:65123: Error: operand mismatch -- `sxtb x1,x0'
/tmp/ccYwnhHg.s:65123: Info:    did you mean this?
/tmp/ccYwnhHg.s:65123: Info:    	sxtb x1, w0
/tmp/ccYwnhHg.s:65123: Info:    other valid variant(s):
/tmp/ccYwnhHg.s:65123: Info:    	sxtb w1, w0
...
```

Likely related to r270265, which added the following snippet?

```
--- a/Source/JavaScriptCore/offlineasm/arm64.rb
+++ b/Source/JavaScriptCore/offlineasm/arm64.rb
@@ -901,6 +901,10 @@ class Instruction
             emitARM64("sxtb", operands, [:word, :word])
         when "sxh2i"
             emitARM64("sxth", operands, [:word, :word])
+        when "sxb2q"
+            emitARM64("sxtb", operands, [:quad, :quad])
+        when "sxh2q"
+            emitARM64("sxth", operands, [:quad, :quad])
         when "nop"
             $asm.puts "nop"
         when "bieq", "bbeq"
```

[1] https://build.webkit.org/builders/JSCOnly-Linux-AArch64-Release?numbuilds=50
Comment 1 Sergey Rubanov 2020-12-01 06:47:37 PST
Created attachment 415134 [details]
Patch
Comment 2 Sergey Rubanov 2020-12-01 06:50:04 PST
(In reply to Lauro Moura from comment #0)
> The JSC-Only Aarch64 bot[1] is failing with the following error:
> 
> ```
> /usr/bin/ccache /home/buildbot/linaro/toolchain/bin/aarch64-linux-gnu-g++
> --sysroot=/home/buildbot/linaro/toolchain/sysroot  -DBUILDING_JSCONLY__
> -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DSTATICALLY_LINKED_WITH_WTF
> -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore
> -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler
> -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air
> -I../../Source/JavaScriptCore/bindings
> -I../../Source/JavaScriptCore/builtins
> -I../../Source/JavaScriptCore/bytecode
> -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg
> -I../../Source/JavaScriptCore/disassembler
> -I../../Source/JavaScriptCore/disassembler/ARM64
> -I../../Source/JavaScriptCore/disassembler/udis86
> -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl
> -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger
> -I../../Source/JavaScriptCore/inspector
> -I../../Source/JavaScriptCore/inspector/agents
> -I../../Source/JavaScriptCore/inspector/augmentable
> -I../../Source/JavaScriptCore/inspector/remote
> -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit
> -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser
> -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime
> -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm
> -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr
> -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector
> -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr
> -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined
> -Wno-attributes -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation
> -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith
> -Wmissing-format-attribute -Wformat-security -Wcast-align
> -Wno-tautological-compare  -fno-strict-aliasing -fno-exceptions -fno-rtti
> -O3 -DNDEBUG -fPIC   -std=c++1z -MD -MT
> Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/
> LowLevelInterpreter.cpp.o -MF
> Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/
> LowLevelInterpreter.cpp.o.d -o
> Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/
> LowLevelInterpreter.cpp.o -c
> ../../Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
> /tmp/ccYwnhHg.s: Assembler messages:
> /tmp/ccYwnhHg.s:65123: Error: operand mismatch -- `sxtb x1,x0'
> /tmp/ccYwnhHg.s:65123: Info:    did you mean this?
> /tmp/ccYwnhHg.s:65123: Info:    	sxtb x1, w0
> /tmp/ccYwnhHg.s:65123: Info:    other valid variant(s):
> /tmp/ccYwnhHg.s:65123: Info:    	sxtb w1, w0
> ...
> ```
> 
> Likely related to r270265, which added the following snippet?
> 
> ```
> --- a/Source/JavaScriptCore/offlineasm/arm64.rb
> +++ b/Source/JavaScriptCore/offlineasm/arm64.rb
> @@ -901,6 +901,10 @@ class Instruction
>              emitARM64("sxtb", operands, [:word, :word])
>          when "sxh2i"
>              emitARM64("sxth", operands, [:word, :word])
> +        when "sxb2q"
> +            emitARM64("sxtb", operands, [:quad, :quad])
> +        when "sxh2q"
> +            emitARM64("sxth", operands, [:quad, :quad])
>          when "nop"
>              $asm.puts "nop"
>          when "bieq", "bbeq"
> ```
> 
> [1]
> https://build.webkit.org/builders/JSCOnly-Linux-AArch64-Release?numbuilds=50

Oh, yes, the source register operand of sxt instructions should be a word
Comment 3 Yusuke Suzuki 2020-12-01 11:21:08 PST
Comment on attachment 415134 [details]
Patch

r=me if EWS gets green
Comment 4 Yusuke Suzuki 2020-12-01 11:57:31 PST
Comment on attachment 415134 [details]
Patch

mac-debug-wk1 EWS is getting stuck now and will not get tests soon.
Comment 5 EWS 2020-12-01 12:03:20 PST
Committed r270322: <https://trac.webkit.org/changeset/270322>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415134 [details].
Comment 6 Radar WebKit Bug Importer 2020-12-01 12:04:18 PST
<rdar://problem/71861265>