ibex icon indicating copy to clipboard operation
ibex copied to clipboard

Remove srecord and use objcopy instead

Open ctopal-rl opened this issue 2 years ago • 3 comments

Now that objcopy have support for --verilog-data-width, we don't need srecord anymore. To be fair, the current setup already supports pointing just to an .elf file but it's still nice to have the .vmem.

ctopal-rl avatar Jul 18 '23 16:07 ctopal-rl

CI fails because the version of riscv-compliance-suit that the CI uses also has srecord. I think that's not the case with its current version but moving to it would be bigger task. I'll put back the srecord requirement but edit it to say it's for the riscv-compliance test suit. Rest is up to you 😄

ctopal-rl avatar Jul 19 '23 08:07 ctopal-rl

I just checked, and the --verilog-data-width option got added to binutils in version 2.33 (back in 2019). (Thanks for the heads-up! It's cool!)

I'm reasonably sure that this is ancient enough that we can just depend on it, but I couldn't figure out what base versions we use in our documentation. @GregAC, any concerns, or should we just merge?

rswarbrick avatar Jul 19 '23 08:07 rswarbrick

I couldn't figure out what base versions we use in our documentation. @GregAC, any concerns, or should we just merge?

I believe here we recommend either using the pre-built lowRISC toolchain (binutils v2.35) or building the riscv-gnu-toolchain from source (binutils ~v2.40).

Note that this fix landed in binutils v2.40 for an issue with --verilog-data-width which I believe caused us problems in the OpenTitan repository.

I'm not sure whether that issue applies here or whether 2.40 fixes it, but maybe we should update the version our toolchain ships.

jwnrt avatar Aug 29 '23 09:08 jwnrt