Commit Graph

5 Commits

Author SHA1 Message Date
Lucas Clemente Vella
204b9e4ff3 DWARF debug symbols parsing in ELF files (#1564)
Conversion from ELF now has feature parity with conversion from
assembly, so I am setting it as the default.

---------

Co-authored-by: Leandro Pacheco <contact@leandropacheco.com>
2024-07-25 09:09:03 +00:00
Leo
d8218a2cae Registers in memory (#1443)
Fixes #1492

---------

Co-authored-by: schaeff <thibaut@schaeff.fr>
2024-07-22 13:17:02 +00:00
Lucas Clemente Vella
b06fa28c7e Translating RISC-V programs directly from ELF files. (#1453)
There are many advantages in using standard assemblers and linkers,
like:
- maturity;
- more complete support of assembly language, which in turn allows for
support to more high level languages and compilers;
- link-time optimizations;
- no need to deal with language edge cases (our assembler and linker
deals with a number of rust stuff, but it would need even more to
support `std`).

But it comes with a cost, as we need to lift references to text data
back into labels, (because powdr operates on a higher abstraction
level), and to do that, we need the ELF file to either be a PIE
(Position Independent Executable), or to still have the linkage
relocation tables (option `--emit-relocs` of GNU and LLVM linkers).

---------

Co-authored-by: Leo Alt <leo@ethereum.org>
Co-authored-by: Leo <leo@powdrlabs.com>
2024-07-08 22:08:41 +00:00
Leandro Pacheco
328cf5474f profiler for powdr asm compiled from rust (#1394)
Rust profiler (#1174) implemented by tracking the execution of the
`riscv-executor`.
2024-05-31 14:50:40 +00:00
Leo
101829b230 Split Rust compilation into its own CLI bin (#1348)
As suggested by @lvella .
I'm not too sure about this actually. I agree that compiling Rust ->
powdr-asm should have a separate pipeline somewhere, but before we could
do Rust -> proof in a single command, and with this we can't anymore.

- Do we expose the `prove` command and everything else here as well?
That'd be a lot of duplicated code.
- Do we force the user to first run `powdr-rs compile <rust_proj>` then
`powdr pil/prove ...`? That's potentially worse UX than right now.
- Do we keep all the Rust stuff in the `cli` crate?
2024-05-13 08:33:15 +00:00