Closed Bug 1490968 Opened 6 years ago Closed 3 years ago

mips wasm compiling error

Categories

(Core :: JavaScript: WebAssembly, defect, P3)

63 Branch
Other
Linux
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: qiaopengcheng-hf, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 2 obsolete files)

compiling the JS on mips-linux platform, The error log like the following: In file included from /home/qiao/work_qiao/open_src/gecko-dev/js/src/obj_rel/js/src/Unified_cpp_js_src43.cpp:2:0: /home/qiao/work_qiao/open_src/gecko-dev/js/src/wasm/WasmCode.cpp: In function ‘bool StaticallyLink(const js::wasm::ModuleSegment&, const js::wasm::LinkData&)’: /home/qiao/work_qiao/open_src/gecko-dev/js/src/wasm/WasmCode.cpp:219:65: error: ‘struct js::wasm::LinkData::InternalLink’ has no member named ‘mode’ label.setLinkMode(static_cast<CodeLabel::LinkMode>(link.mode)); ^~~~ /home/qiao/work_qiao/open_src/gecko-dev/js/src/wasm/WasmCode.cpp: In function ‘void StaticallyUnlink(uint8_t*, const js::wasm::LinkData&)’: /home/qiao/work_qiao/open_src/gecko-dev/js/src/wasm/WasmCode.cpp:254:65: error: ‘struct js::wasm::LinkData::InternalLink’ has no member named ‘mode’ label.setLinkMode(static_cast<CodeLabel::LinkMode>(link.mode)); ^~~~ In file included from /home/qiao/work_qiao/open_src/gecko-dev/js/src/obj_rel/js/src/Unified_cpp_js_src43.cpp:38:0: /home/qiao/work_qiao/open_src/gecko-dev/js/src/wasm/WasmGenerator.cpp: In member function ‘bool js::wasm::ModuleGenerator::linkCompiledCode(const js::wasm::CompiledCode&)’: /home/qiao/work_qiao/open_src/gecko-dev/js/src/wasm/WasmGenerator.cpp:651:14: error: ‘struct js::wasm::LinkData::InternalLink’ has no member named ‘mode’ link.mode = codeLabel.linkMode(); ^~~~ /home/qiao/work_qiao/open_src/gecko-dev/config/rules.mk:1110: recipe for target 'Unified_cpp_js_src43.o' failed make[3]: *** [Unified_cpp_js_src43.o] Error 1
Attached patch mips wasm compiling error (obsolete) — Splinter Review
Attachment #9008694 - Flags: review?(jdemooij)
Comment on attachment 9008694 [details] [diff] [review] mips wasm compiling error Review of attachment 9008694 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/wasm/WasmCode.h @@ +24,4 @@ > #include "vm/MutexIDs.h" > #include "wasm/WasmTypes.h" > > +#if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64) Hm so this is usually #defined here, IIUC: https://searchfox.org/mozilla-central/rev/a23c3959b62cd3f616435e02810988ef5bac9031/js/src/jit/shared/Assembler-shared.h#34-36 Is the problem that we sometimes #include WasmCode.h without including Assembler-shared.h? A more robust option may be to move this define to moz.build, like this: https://searchfox.org/mozilla-central/rev/a23c3959b62cd3f616435e02810988ef5bac9031/js/src/moz.build#731-732 Luke, WDYT?
Attachment #9008694 - Flags: review?(jdemooij) → review?(luke)
Comment on attachment 9008694 [details] [diff] [review] mips wasm compiling error Review of attachment 9008694 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/wasm/WasmCode.h @@ +24,4 @@ > #include "vm/MutexIDs.h" > #include "wasm/WasmTypes.h" > > +#if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64) Yes, it'd be nice to have the more robust moz.build fix, thanks!
Assignee: nobody → qiaopengcheng-hf
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
(In reply to Luke Wagner [:luke] from comment #3) > Comment on attachment 9008694 [details] [diff] [review] > mips wasm compiling error > > Review of attachment 9008694 [details] [diff] [review]: > ----------------------------------------------------------------- > > ::: js/src/wasm/WasmCode.h > @@ +24,4 @@ > > #include "vm/MutexIDs.h" > > #include "wasm/WasmTypes.h" > > > > +#if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64) > > Yes, it'd be nice to have the more robust moz.build fix, thanks! Thanks!
Attached patch mips wasm compiling error (obsolete) — Splinter Review
Attachment #9008694 - Attachment is obsolete: true
Attachment #9008694 - Flags: review?(luke)
Attachment #9008977 - Flags: review?(luke)
Comment on attachment 9008977 [details] [diff] [review] mips wasm compiling error Review of attachment 9008977 [details] [diff] [review]: ----------------------------------------------------------------- Thanks again!
Attachment #9008977 - Flags: review?(luke) → review+
(In reply to Luke Wagner [:luke] from comment #6) > Comment on attachment 9008977 [details] [diff] [review] > mips wasm compiling error > > Review of attachment 9008977 [details] [diff] [review]: > ----------------------------------------------------------------- > > Thanks again! I'm sorry. A moment later, I have tried but there is still a compiling error. In the file, obj_rel/js/src/backend.mk, the macro definiation "-DJS_CODELABEL_LINKMODE" included. the comiling error log liking: In file included from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/Assembler-mips64.h:10:0, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips-shared/MacroAssembler-mips-shared.h:13, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/MacroAssembler-mips64.h:11, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MacroAssembler.h:27, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/SharedICRegisters-mips64.h:10, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/SharedICRegisters.h:21, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/BaselineIC.h:18, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MIR.h:21, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/LIR.h:20, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/shared/CodeGenerator-shared.h:16, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/shell/js.cpp:79, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/obj_rel/js/src/shell/Unified_cpp_js_src_shell0.cpp:11: /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips-shared/Assembler-mips-shared.h: In member function ‘void js::jit::AssemblerMIPSShared::addLongJump(js::jit::BufferOffset, js::jit::BufferOffset)’: /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips-shared/Assembler-mips-shared.h:1298:12: error: ‘class js::jit::CodeLabel’ has no member named ‘setLinkMode’ cl.setLinkMode(CodeLabel::JumpImmediate); ^~~~~~~~~~~ /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips-shared/Assembler-mips-shared.h:1298:35: error: ‘JumpImmediate’ is not a member of ‘js::jit::CodeLabel’ cl.setLinkMode(CodeLabel::JumpImmediate); ^~~~~~~~~~~~~ In file included from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MacroAssembler.h:27:0, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/SharedICRegisters-mips64.h:10, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/SharedICRegisters.h:21, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/BaselineIC.h:18, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MIR.h:21, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/LIR.h:20, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/shared/CodeGenerator-shared.h:16, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/shell/js.cpp:79, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/obj_rel/js/src/shell/Unified_cpp_js_src_shell0.cpp:11: /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/MacroAssembler-mips64.h: In member function ‘void js::jit::MacroAssemblerMIPS64Compat::writeCodePointer(js::jit::CodeLabel*)’: /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/MacroAssembler-mips64.h:338:16: error: ‘class js::jit::CodeLabel’ has no member named ‘setLinkMode’ label->setLinkMode(CodeLabel::RawPointer); ^~~~~~~~~~~ /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/MacroAssembler-mips64.h:338:39: error: ‘RawPointer’ is not a member of ‘js::jit::CodeLabel’ label->setLinkMode(CodeLabel::RawPointer); ^~~~~~~~~~ In file included from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/Assembler-mips64.h:10:0, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips-shared/MacroAssembler-mips-shared.h:13, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/MacroAssembler-mips64.h:11, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MacroAssembler.h:27, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/SharedICRegisters-mips64.h:10, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/SharedICRegisters.h:21, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/BaselineIC.h:18, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MIR.h:21, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MIRGenerator.h:20, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jsapi-tests/testJitDCEinGVN.cpp:9, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/obj_rel/js/src/jsapi-tests/Unified_cpp_js_src_jsapi-tests3.cpp:119: /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips-shared/Assembler-mips-shared.h: In member function ‘void js::jit::AssemblerMIPSShared::addLongJump(js::jit::BufferOffset, js::jit::BufferOffset)’: /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips-shared/Assembler-mips-shared.h:1298:12: error: ‘class js::jit::CodeLabel’ has no member named ‘setLinkMode’ cl.setLinkMode(CodeLabel::JumpImmediate); ^~~~~~~~~~~ /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips-shared/Assembler-mips-shared.h:1298:35: error: ‘JumpImmediate’ is not a member of ‘js::jit::CodeLabel’ cl.setLinkMode(CodeLabel::JumpImmediate); ^~~~~~~~~~~~~ In file included from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MacroAssembler.h:27:0, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/SharedICRegisters-mips64.h:10, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/SharedICRegisters.h:21, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/BaselineIC.h:18, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MIR.h:21, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/MIRGenerator.h:20, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/jsapi-tests/testJitDCEinGVN.cpp:9, from /home/qiao/work_qiao/open_src/gecko-dev/js/src/obj_rel/js/src/jsapi-tests/Unified_cpp_js_src_jsapi-tests3.cpp:119: /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/MacroAssembler-mips64.h: In member function ‘void js::jit::MacroAssemblerMIPS64Compat::writeCodePointer(js::jit::CodeLabel*)’: /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/MacroAssembler-mips64.h:338:16: error: ‘class js::jit::CodeLabel’ has no member named ‘setLinkMode’ label->setLinkMode(CodeLabel::RawPointer); ^~~~~~~~~~~ /home/qiao/work_qiao/open_src/gecko-dev/js/src/jit/mips64/MacroAssembler-mips64.h:338:39: error: ‘RawPointer’ is not a member of ‘js::jit::CodeLabel’ label->setLinkMode(CodeLabel::RawPointer); ^~~~~~~~~~
(In reply to Luke Wagner [:luke] from comment #6) > Comment on attachment 9008977 [details] [diff] [review] > mips wasm compiling error > > Review of attachment 9008977 [details] [diff] [review]: > ----------------------------------------------------------------- > > Thanks again! Maybe I have also modify the shell/moz.build, not only the top moz.build
Attachment #9008977 - Attachment is obsolete: true
Attachment #9008988 - Flags: review?(luke)
Sorry, I don't know anything about the build system: is there not any common place to put this once?
Flags: needinfo?(jdemooij)
Comment on attachment 9008988 [details] [diff] [review] mips wasm compiling error Review of attachment 9008988 [details] [diff] [review]: ----------------------------------------------------------------- r+ assuming Jan doesn't have a better answer
Attachment #9008988 - Flags: review?(luke) → review+
(In reply to Luke Wagner [:luke] from comment #11) > Comment on attachment 9008988 [details] [diff] [review] > mips wasm compiling error > > Review of attachment 9008988 [details] [diff] [review]: > ----------------------------------------------------------------- > > r+ assuming Jan doesn't have a better answer I'm Sorry for the previous patch that I didn't waiting the compiling completed.
(In reply to Luke Wagner [:luke] from comment #10) > Sorry, I don't know anything about the build system: is there not any common > place to put this once? I think Ted was working on some patches in this area.
Flags: needinfo?(jdemooij) → needinfo?(tcampbell)
Part 2 and 4 of Bug 1489698 add a central place. I'll work on getting it landed next week.
Flags: needinfo?(tcampbell)
Priority: -- → P3
This patch needs to be rebased now that moz.build changes landed in Bug 1489698.

There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:qiaopengcheng-hf, could you have a look please?

Flags: needinfo?(qiaopengcheng-hf)

(In reply to Release mgmt bot [:sylvestre / :calixte] from comment #16)

There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:qiaopengcheng-hf, could you have a look please?

As Comment13/Comment14 said, other developer may fix it.

Flags: needinfo?(qiaopengcheng-hf)

The bug assignee didn't login in Bugzilla in the last 7 months.
:sdetar, could you have a look please?
For more information, please visit auto_nag documentation.

Assignee: qiaopengcheng-hf → nobody
Status: ASSIGNED → NEW
Flags: needinfo?(sdetar)
Component: JavaScript Engine → Javascript: WebAssembly

Fixed elsewhere; MIPS has no compilation issues really. Reopen if I misunderstood something.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME
Flags: needinfo?(sdetar)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: