Bug 137194 - [GTK] [Stable] webkit-gtk-2.4.4: compilation failed on ARMv5
Summary: [GTK] [Stable] webkit-gtk-2.4.4: compilation failed on ARMv5
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 108645
  Show dependency treegraph
 
Reported: 2014-09-28 06:20 PDT by Pacho Ramos
Modified: 2017-10-18 02:48 PDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos 2014-09-28 06:20:29 PDT
Not sure if ARMv7 is mandatory or similar, but it looks to fail downstream with arm5:
https://bugs.gentoo.org/show_bug.cgi?id=523400

mv -f Source/JavaScriptCore/llint/.deps/libjavascriptcoregtk_1_0_la-LLIntThunks.Tpo Source/JavaScriptCore/llint/.deps/libjavascriptcoregtk_1_0_la-LLIntThunks.Plo
/bin/sh ./libtool  --tag=CXX   --mode=compile armv5tel-softfloat-linux-gnueabi-g++ -DHAVE_CONFIG_H -I.  -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno
-unused-parameter -Wno-parentheses -fno-exceptions -DBUILDING_CAIRO__ -DBUILDING_GTK__   -I./Source -I./Source/JavaScriptCore -I./Source/JavaScriptCore/API -I./Source/JavaScriptCore/ForwardingHeaders -I./Source/JavaScriptCore/assembler -I./Source/JavaScriptCore/bindings -
I./Source/JavaScriptCore/bytecode -I./Source/JavaScriptCore/bytecompiler -I./Source/JavaScriptCore/debugger -I./Source/JavaScriptCore/dfg -I./Source/JavaScriptCore/disassembler -I./Source/JavaScriptCore/ftl -I./Source/JavaScriptCore/heap -I./Source/JavaScriptCore/inspecto
r -I./Source/JavaScriptCore/inspector/agents -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/yarr -I./DerivedSources/JavaScriptCore -I./Source/WTF  -fno-omit-frame-pointer -fno-tree-dce  -fno-rtti  -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include  -O2 -march=armv5te -pipe -pthread -std=c++11 -Wno-c++11
-compat   -MT Source/JavaScriptCore/llint/libjavascriptcoregtk_1_0_la-LowLevelInterpreter.lo -MD -MP -MF Source/JavaScriptCore/llint/.deps/libjavascriptcoregtk_1_0_la-LowLevelInterpreter.Tpo -c -o Source/JavaScriptCore/llint/libjavascriptcoregtk_1_0_la-LowLevelInterpreter
.lo `test -f 'Source/JavaScriptCore/llint/LowLevelInterpreter.cpp' || echo './'`Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
libtool: compile:  armv5tel-softfloat-linux-gnueabi-g++ -DHAVE_CONFIG_H -I. -Wall -W -Wcast-align -Wchar-subscripts -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-paren
theses -fno-exceptions -DBUILDING_CAIRO__ -DBUILDING_GTK__ -I./Source -I./Source/JavaScriptCore -I./Source/JavaScriptCore/API -I./Source/JavaScriptCore/ForwardingHeaders -I./Source/JavaScriptCore/assembler -I./Source/JavaScriptCore/bindings -I./Source/JavaScriptCore/bytec
ode -I./Source/JavaScriptCore/bytecompiler -I./Source/JavaScriptCore/debugger -I./Source/JavaScriptCore/dfg -I./Source/JavaScriptCore/disassembler -I./Source/JavaScriptCore/ftl -I./Source/JavaScriptCore/heap -I./Source/JavaScriptCore/inspector -I./Source/JavaScriptCore/in
spector/agents -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/JavaScriptCo
re/yarr -I./DerivedSources/JavaScriptCore -I./Source/WTF -fno-omit-frame-pointer -fno-tree-dce -fno-rtti -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include -O2 -march=armv5te -pipe -pthread -std=c++11 -Wno-c++11-compat -MT Source/JavaScriptCore/ll
int/libjavascriptcoregtk_1_0_la-LowLevelInterpreter.lo -MD -MP -MF Source/JavaScriptCore/llint/.deps/libjavascriptcoregtk_1_0_la-LowLevelInterpreter.Tpo -c Source/JavaScriptCore/llint/LowLevelInterpreter.cpp  -fPIC -DPIC -o Source/JavaScriptCore/llint/.libs/libjavascriptc
oregtk_1_0_la-LowLevelInterpreter.o
{standard input}: Assembler messages:
{standard input}:1533: Error: selected processor does not support ARM mode `vmov s2,r1'
{standard input}:1534: Error: selected processor does not support ARM mode `vcvt.f64.s32 d1,s2'
{standard input}:1538: Error: selected processor does not support ARM mode `vmov d1,r1,r4'
{standard input}:1541: Error: selected processor does not support ARM mode `vmov d0,r0,r2'
{standard input}:1542: Error: selected processor does not support ARM mode `vadd.f64 d0,d0,d1'

...

make[1]: *** [Source/JavaScriptCore/llint/libjavascriptcoregtk_1_0_la-LowLevelInterpreter.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
mv -f Source/JavaScriptCore/llint/.deps/libjavascriptcoregtk_1_0_la-LLIntSlowPaths.Tpo Source/JavaScriptCore/llint/.deps/libjavascriptcoregtk_1_0_la-LLIntSlowPaths.Plo
make[1]: Leaving directory `/var/tmp/portage/net-libs/webkit-gtk-2.4.4-r200/work/webkitgtk-2.4.4'
make: *** [all] Error 2
Comment 1 Csaba Osztrogonác 2014-09-29 08:17:18 PDT
These build error comes from LLINT (Low Level Interpretet) and it seems these
instructions are used from the beginning - https://trac.webkit.org/changeset/108444 . )

I think the easiest way to fix this issue it to disable JIT and 
only use the CLOOP interpreter on ARMv5.

Just try to define ENABLE_LLINT_C_LOOP to 1 before this check:
https://trac.webkit.org/browser/releases/WebKitGTK/webkit-2.4.4/Source/WTF/wtf/Platform.h#L651

I'm not sure if this config was maintained that time, but 
maybe GTK folks can help to fix this config if it is needed.
Comment 2 Zan Dobersek 2017-10-18 02:48:51 PDT
2.4.4 isn't supported anymore.