-
Notifications
You must be signed in to change notification settings - Fork 73
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
Translating RISC-V programs directly from ELF files. #1453
Merged
Merged
Changes from 94 commits
Commits
Show all changes
108 commits
Select commit
Hold shift + click to select a range
bc8e5c1
Attempt to make vec_median a binary.
lvella 2544ec3
Missing moved file.
lvella e750285
works
leonardoalt 6050592
Starting implementation of instructions lifting.
lvella 424115f
Refactoring instruction processor to be more generic.
lvella d362de7
Implementing more general jalr.
lvella 6261fa8
Merge branch 'jalr-instruction' into HEAD
lvella 2a0920a
Lifting sets of instructions into high level (pseudo)instructions.
lvella 6879d74
Instruction lifting possibly done.
lvella 5866a4b
Loading data and lifting references to text labels.
lvella 69130e1
Relocation apparently working.
lvella d87c3dc
Merge remote-tracking branch 'origin/main' into elf-support
lvella c3c8842
Merge branch 'main' into elf-support
lvella d92987e
Refactoring powdr asm generator to make it source agnostic.
lvella 3c71255
Make Label generic.
lvella bc53657
Setting the stack pointer.
lvella 708dfee
Using a non-conflicting start function name.
lvella 27872cd
Merge branch 'main' into split-code-gen
lvella 856a128
Moving global declarations to asm_translate.
lvella adfc41d
Doing RISC-V initializations on runtime lib, with linker support.
lvella d04c23f
Modify RISC-V compilation to build binaries instead of libraries.
lvella 7ce3446
Correctly finding all the assembly files.
lvella 890f529
Linker settings for the ELF file to be usable.
lvella ce334a1
Relocation table test.
lvella 42af5f7
Removing unrelated test.
lvella 9f509a8
Fixing lint.
lvella bad34de
Updating comments.
lvella 5c703da
Bumping version because the runtime changes are incompatible.
lvella 531e8ee
Fixing lint.
lvella d138007
Addressing reviews.
lvella 7280a0c
Merge remote-tracking branch 'origin/main' into split-code-gen
lvella f4309de
Merge branch 'split-code-gen' into rv-init-in-runtime
lvella d18ae3f
Merge branch 'rv-init-in-runtime' into build-to-executable
lvella 5ab5959
Building rust into executable instead of library.
lvella 18989e4
Fixing test and improving comments.
lvella e002fcf
Merge commit '7280a0c7701581620d39ca' into elf-support
lvella dbfadca
Merge commit 'f4309defa9aa017c1f90b5b' into elf-support
lvella 6b516ed
Merge branch 'build-to-executable' into elf-support
lvella 8c5a23b
Reverting useless change.
lvella 71c5626
Fixing comments.
lvella bfad2ae
Addressing review.
lvella 69ee478
Implementing args interface.
lvella 66060e5
Complete and compiling, but not tested.
lvella 9d54a16
Some fixes.
lvella d3f3375
Fixing regression.
lvella 6126723
Running from end-to-end, but the result is wrong.
lvella d54b0e4
Loading labels from text, but relocation is broken.
lvella 29e4744
Merge remote-tracking branch 'origin/main' into rv-init-in-runtime
lvella e423ddb
Merge branch 'rv-init-in-runtime' into build-to-executable
lvella 75f1740
Fix comment.
lvella 47fecb6
Comment and error message.
lvella 2f78019
Apparently working on function pointer example.
lvella c6d171d
Best so far.
lvella e248978
Fixing LUI.
lvella 691413f
Commenting back unsupported instructions section.
lvella 9960886
vec-median working
lvella 32e8425
Implementing static relocation, too
lvella 8b2f7f7
Small fixes and reorg.
lvella 0576d72
Using ELF pipeline for rust tests.
lvella 26323ef
Deduplicating symbols.
lvella df9c45f
Found flaw in logic lifting LUI + ADDI.
lvella cbf840e
Doing two passes to decide wether to merge two instructions or not.
lvella 1f567b6
Comments improvement.
lvella bccfd8a
Merge branch 'main' into build-to-executable
lvella 144bd80
Merge branch 'build-to-executable' into elf-support
lvella 5940340
Small changes.
lvella 04a379f
Humoring lint.
lvella 31f365c
More clippy.
lvella 18cac28
Update riscv/src/lib.rs
lvella 2b67195
Merge remote-tracking branch 'origin/main' into elf-support
lvella 2d41b75
Trying to run tests on both paths.
lvella a2aa483
Failing if result is unexpected.
lvella 70b62ad
Also running assembly tests from elf.
lvella 861f66f
Fixing running assembly tests via ELF.
lvella 55ab22e
Merge branch 'elf-support' of github.com:powdr-labs/powdr into elf-su…
lvella a5f01f6
Merge remote-tracking branch 'origin/main' into elf-support
lvella 856ac0d
Fixing argument order of amoadd.w.
lvella ce6b66a
Fixing assembly compilation of tests.
lvella d81c9c6
Using GNU Assembler with LLVM Linker.
lvella 357b77d
Supporting auipc followed by load or store.
lvella bcaeaab
Detecting assembler.
lvella b56814d
Fixing lrsc test.
lvella 291ebf3
Fixed dynamic relocation test.
lvella 87f7467
I tried as much as I could not to fork raki.
lvella 95534ba
Fixing dynamic relocation test.
lvella 640e996
Fixing dynamic relocation test even more.
lvella e40b8b1
Removing debug leftover.
lvella 205a9cb
Adding partial rvc.S test.
lvella 1c706e9
Added command line switch to use the ELF path.
lvella 0d36343
Install the linker and assembler in the CI VM.
lvella 1638f1a
Documenting TwoOrOneMapper.
lvella 41d83cb
Documented a few functions.
lvella 490ca7b
Small improvements.
lvella 7691764
Better wording.
lvella d20a613
Update riscv/src/elf.rs
lvella ce69fea
Grammar fix.
lvella 7c134f7
Update riscv/src/elf.rs
lvella 750d569
Addressing lots of reviews.
lvella 6be0212
Merge branch 'elf-support' of github.com:powdr-labs/powdr into elf-su…
lvella 0c46213
Update riscv/src/elf.rs
lvella 799aa23
More review addressing.
lvella c2743ed
Merge branch 'elf-support' of github.com:powdr-labs/powdr into elf-su…
lvella d753b58
Translating from assembly by default.
lvella d36cf75
Using `is_executable`.
lvella f2b8c34
Placing private below pub.
lvella cc0b5ed
Reverting itertools to 0.12.
lvella e3cce8f
Merge branch 'main' into elf-support
lvella 42cf0cc
Update riscv/tests/instruction_tests/README.md
lvella File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
why not riscv32?
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.
There is no riscv32 in Ubuntu. You use the 64 for both.