[libre-riscv-dev] Introduction

Luke Kenneth Casson Leighton lkcl at lkcl.net
Mon Feb 4 22:21:53 GMT 2019


On Mon, Feb 4, 2019 at 12:46 PM Jacob Lifshay <programmerjake at gmail.com> wrote:
>
> On Mon, Feb 4, 2019, 04:06 Luke Kenneth Casson Leighton <lkcl at lkcl.net
> wrote:
>
> > Rust means that the build and development of the hardware will be
> > critically reliant on an unnecessarily large set of dependencies.
> >
> I don't think it is that big: rust is available on more platforms than most
> people care to develop on (I can even build from android, which no one
> should be developing on).

 the library is intended for general-purpose use, not just for this
project.  anyone looking at it will go "rust? as a critical dependency
for the unit tests? oink?" and will pass it by.  that in turn reduces
the number of people willing to help and contribute.

 plus, if we are going to add any kind of bindings, they should be
python bindings direct to the softloat library.  the chain with rust
is: python -> pipe -> executable -> rust -> rust bindings to c library
-> c library.

 the reason i did not suggest e.g. python -> swig -> c library is
because i know that creating and maintaining python-c-bindings is a
pain.

 which is why i recommended python -> pipe -> executable -> c library instead.

 the approach in c that i recommended takes around 200 lines of code,
and requires only a c compiler.

> I'm using a macro to reduce code duplication by about 20 loc per softfloat
> function.

 that's a good approach.

l.



More information about the libre-riscv-dev mailing list