-
Notifications
You must be signed in to change notification settings - Fork 113
Bring wasm service up #487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
70ae4c5
to
74af7cc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clarify the git commit message: if this pull request is able to resolve #486, you should write Close #486
explicitly.
I changed to title in #486. The ELF selection list generator is in progress and may take some time. To bring up the WASM service quickly, this PR could be merged first. |
976909a
to
bc68875
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rebase the latest master
branch for passing the architecture tests.
After merging sysprog21#474, multiple executables were moved to other location (build/riscv32), which caused the wasm service to fail. The intuitive solution is to embed build/riscv32 into the wasm. Also, executables that stored in rv32emu-prebuilt must be pulled before embedding into wasm, so emcc_deps should depend on the artifact target. Additionally, the Makefile's distclean target does not fully clean wasm artifacts, as CC=emcc might not be set during make distclean. To fix this, the declaration of the WEB_FILES and DEMO_DIR wasm-related variables has been reordered. Related: sysprog21#486
As the number of ELF executables may increase over time, manually updating the HTML ELF list becomes tedious. Therefore, an ELF list generator has been introduced. When new ELF executables are added to the build or build/riscv32 directories, the list will be generated dynamically. Close: sysprog21#486
bc68875
to
785bf15
Compare
Thank @ChinYikMing for contributing! |
After merging sysprog21#487, the elf_list.js file is generated dynamically, and the wasm service requires this file to run. However, during CI deployment, the file is not pushed to the rv32emu-demo repo, causing the GitHub Pages to malfunction. To resolve this, pushing the file to the rv32emu-demo repo is the solution. The 'demo' directory is only created when the WASM service runs locally. To address this, the elf_list.js file should be placed in the 'build' directory instead, as the CI deployment does not invoke the Makefile's start-web target, so the 'demo' directory will not be generated.
Bring WebAssembly service up
After merging sysprog21#487, the elf_list.js file is generated dynamically, and the wasm service requires this file to run. However, during CI deployment, the file is not pushed to the rv32emu-demo repo, causing the GitHub Pages to malfunction. To resolve this, pushing the file to the rv32emu-demo repo is the solution. The 'demo' directory is only created when the WASM service runs locally. To address this, the elf_list.js file should be placed in the 'build' directory instead, as the CI deployment does not invoke the Makefile's start-web target, so the 'demo' directory will not be generated.
After merging #474, multiple executables were moved to other location (build/riscv32), which caused the wasm service to fail. The intuitive solution is to embed build/riscv32 into the wasm. Also, executables that stored in rv32emu-prebuilt must be pulled before embedding into wasm, so emcc_deps should depend on the artifact target.
Additionally, the Makefile's distclean target does not fully clean wasm artifacts, as CC=emcc might not be set during make distclean. To fix this, the declaration of the WEB_FILES and DEMO_DIR wasm-related variables has been reordered.
As the number of ELF executables may increase over time, manually updating the HTML ELF list becomes tedious. Therefore, an ELF list generator has been introduced. When new ELF executables are added to the build or build/riscv32 directories, the list will be generated dynamically.
Close: #486