Bug 81466 - [SH]: Error: syntax error in @(disp,[Rn, gbr, pc]) when building with -mlra
Summary: [SH]: Error: syntax error in @(disp,[Rn, gbr, pc]) when building with -mlra
Status: UNCONFIRMED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 7.1.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL: https://people.debian.org/~glaubitz/w...
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-17 13:56 UTC by John Paul Adrian Glaubitz
Modified: 2024-02-15 19:04 UTC (History)
1 user (show)

See Also:
Host:
Target: sh*-*-*
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Intermediate source for MapPrototype.cpp (gzipped) (490.79 KB, application/gzip)
2017-07-17 13:56 UTC, John Paul Adrian Glaubitz
Details
Generated assembly for MapPrototype.cpp (gzipped) (110.10 KB, application/gzip)
2017-07-17 13:57 UTC, John Paul Adrian Glaubitz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Paul Adrian Glaubitz 2017-07-17 13:56:45 UTC
Created attachment 41774 [details]
Intermediate source for MapPrototype.cpp (gzipped)

After running into #81426 when trying to build webkit2gtk on Debian sh4 unstable, I tried building with "-mlra". While this actually fixed #81246, another issue was exposed that only shows when using "-mlra":

[ 21%] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/runtime/MapPrototype.cpp.o
cd /<<PKGBUILDDIR>>/obj-sh4-linux-gnu/Source/JavaScriptCore && /usr/bin/c++   -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DDATA_DIR=\"share\" -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\" -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DLIBDIR=\"/usr/lib/sh4-linux-gnu\" -DSTATICALLY_LINKED_WITH_WTF -DUSER_AGENT_GTK_MAJOR_VERSION=\"604\" -DUSER_AGENT_GTK_MINOR_VERSION=\"1\" -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -isystem /usr/include/glib-2.0 -isystem /usr/lib/sh4-linux-gnu/glib-2.0/include -I/<<PKGBUILDDIR>>/obj-sh4-linux-gnu -I/<<PKGBUILDDIR>>/Source/JavaScriptCore -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/.. -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/API -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/ForwardingHeaders -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/assembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/b3/air -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bindings -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/builtins -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecode -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/bytecompiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/dfg -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/udis86 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/disassembler/ARM64 -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/domjit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/ftl -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/heap -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/debugger -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/agents -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/augmentable -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/inspector/remote -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/interpreter -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/jit -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/llint -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/parser -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/profiler -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/replay -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/runtime -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/tools -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/wasm/js -I/<<PKGBUILDDIR>>/Source/JavaScriptCore/yarr -I/<<PKGBUILDDIR>>/obj-sh4-linux-gnu/DerivedSources/ForwardingHeaders -I/<<PKGBUILDDIR>>/obj-sh4-linux-gnu/DerivedSources/JavaScriptCore -I/<<PKGBUILDDIR>>/obj-sh4-linux-gnu/DerivedSources/JavaScriptCore/inspector -I/<<PKGBUILDDIR>>/Source/bmalloc -I/<<PKGBUILDDIR>>/Source/WTF -I/<<PKGBUILDDIR>>/obj-sh4-linux-gnu/DerivedSources -I/<<PKGBUILDDIR>>/Source/ThirdParty  -g1 -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -specs=/usr/share/dpkg/pie-compile.specs -fstack-protector-strong -Wformat -Werror=format-security -mlra -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -DENABLE_ASSEMBLER=0 -DNDEBUG -DG_DISABLE_CAST_CHECKS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -DENABLE_ASSEMBLER=0 -DNDEBUG -DG_DISABLE_CAST_CHECKS -fno-exceptions -fno-strict-aliasing -fno-rtti -std=c++1y -fPIC   -Wall -Wextra -Wcast-align -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wundef -Wwrite-strings  -o CMakeFiles/JavaScriptCore.dir/runtime/MapPrototype.cpp.o -c /<<PKGBUILDDIR>>/Source/JavaScriptCore/runtime/MapPrototype.cpp
(...)
/tmp/cck5XKuE.s: Assembler messages:
/tmp/cck5XKuE.s:3780: Error: syntax error in @(disp,[Rn, gbr, pc])
/tmp/cck5XKuE.s:3780: Error: invalid operands for opcode
/tmp/cck5XKuE.s:3787: Error: syntax error in @(disp,[Rn, gbr, pc])
/tmp/cck5XKuE.s:3787: Error: invalid operands for opcode
Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:18583: recipe for target 'Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/runtime/MapPrototype.cpp.o' failed
make[3]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/runtime/MapPrototype.cpp.o] Error 1

Dropping "-mlra" from the command line above fixes the issue.

Full log in [1]. Attaching the output from running with "-save-temps".

> [1] https://people.debian.org/~glaubitz/webkit2gtk_2.16.5-1-mlra_sh4.build
Comment 1 John Paul Adrian Glaubitz 2017-07-17 13:57:54 UTC
Created attachment 41775 [details]
Generated assembly for MapPrototype.cpp (gzipped)