<div dir="ltr">Hi Richard, thanks for the reply. It was helpful.<div><br></div><div>You are correct, I was able to find a configuration that worked by passing the RISC-V compiler via "make variable" assignment, along with some relevant options.  Things start compiling, but the build fails on what seems to be architecture-specific assembly files which are selected based on which "platform" has been configured.  It did not seem to me that there were RISC-V assembly-specific files as an option here, and based on your reply, I think that is indeed the issue.  Am I understanding this correctly?</div><div><br></div><div>Thanks,</div><div><br></div><div>Kristin</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 9, 2020 at 3:03 AM Richard Levitte <<a href="mailto:levitte@openssl.org">levitte@openssl.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, 09 Mar 2020 05:18:17 +0100,<br>
Kristin Barber wrote:<br>
> I've looked at the INSTALL docs, and it doesn't seem that RISC-V processors are supported<br>
> currently as a platform. Is this correct?<br>
<br>
That is correct.  No one has implemented that support yet.<br>
<br>
> Is there a branch which enables configuring for a RISC-V machine that hasn't yet made it into a<br>
> stable release?  <br>
<br>
Not that I know of.  Although, this same question has also been raised<br>
on github (I forget the issue number).<br>
<br>
> Any advice on where to look for information or changes to the build process in order to compile<br>
> for RISC-V?<br>
<br>
The first thing to attempt is a generic build with no assembler.<br>
There are some really simply config targets that could be a first<br>
step, one of:<br>
<br>
    ./Configure cc<br>
<br>
    ./Configure gcc<br>
<br>
A (pretty big) step up from that, at least if Linux is your target,<br>
would be one of these:<br>
<br>
    ./Configure linux-generic32<br>
<br>
    ./Configure linux-generic64<br>
<br>
Note that in either case, you may have to add C flags and ld flags,<br>
which you can do in one of two ways:<br>
<br>
1)  directly on the configuration command line, like this (Configure<br>
    makes an educated guess on what flags go where):<br>
<br>
    ./Configure linux-generic64 -m64 -DWHATEVER=value -Wl,-something<br>
<br>
2)  via "make variable" assignment:<br>
<br>
    ./Configure linux-generic64 \<br>
                CPPFLAGS='-DWHATEVER=value' \<br>
                CFLAGS='-m64' \<br>
                LDFLAGS='-Wl,-something'<br>
<br>
At some point, you might find a combination that works for you.  We<br>
would definitely like to know what you figure out, and it may be that<br>
the result makes it into our database of config targets (which, if<br>
you're curious, are the files Configurations/*.conf).<br>
<br>
Now, configuration is the easy bit when it comes to new CPUs,<br>
relatively speaking.  I assume that part of your question is whether<br>
there is assembler support.  This is the hard part in terms of<br>
effort.  We currently have no such thing at all for RISC-V, and I<br>
haven't seen any attempts to start such an effort...  PRs would<br>
certainly be welcome, but anyone who tries this will have to be<br>
prepared for it to take a while to get into the main source.<br>
<br>
Cheers,<br>
Richard<br>
<br>
-- <br>
Richard Levitte         <a href="mailto:levitte@openssl.org" target="_blank">levitte@openssl.org</a><br>
OpenSSL Project         <a href="http://www.openssl.org/~levitte/" rel="noreferrer" target="_blank">http://www.openssl.org/~levitte/</a><br>
</blockquote></div>