iic-jku / IIC-OSIC-TOOLS

IIC-OSIC-TOOLS is an all-in-one Docker image for SKY130/GF180/IHP130-based analog and digital chip design. AMD64 and ARM64 are natively supported.
Apache License 2.0
297 stars 48 forks source link

riscv64-linux-gnu with multilib vs riscv-unknown-elf #62

Closed phsauter closed 19 hours ago

phsauter commented 3 weeks ago

In our scripts we commonly use the riscv64-unknown-elf-* tools, for example here.
I know riscv64-linux-gnu with multilib can do the same thing but it requires additional flags and dealing with both possibilities (and the possibility of riscv64-linux-gnu without multilib) can be very annoying and hard to test/debug.
Additionally, it is likely something beginners do not know about and could lead to difficult to understand problems.

For this reason I think it makes more sense to use riscv-unknown-elf in the docker image instead of riscv64-linux-gnu with multilib.
The only argument I can think of against it is if there are scenarios where people compile linux applications inside this docker. Personally, I think this is very unlikely because at that point you are firmly in software development land and you will likely need additional tools anyway.

This change would just require a small change here: https://github.com/iic-jku/IIC-OSIC-TOOLS/blob/79ffaf2afb272048a846df766af7b74ec5fe4acb/_build/images/riscv-gnu-toolchain/scripts/install.sh#L10-L11

It would need to be:

../configure --prefix="${TOOLS}/$RISCV_GNU_TOOLCHAIN_NAME"
make -j"$(nproc)"
hpretl commented 3 weeks ago

As you are the main users for this tool we will adapt it according your needs.

hpretl commented 3 weeks ago

Implemented with 4d4db1850cdcdca4fad9a8fc5e6ea626eef67484. Will be part of next release.

hpretl commented 2 weeks ago

@phsauter I have just pushed an image with tag next including this change, please test it if you have time.

hpretl commented 19 hours ago

Released with 2024.09 tag.