<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Is the “no-asm” configuration option still supported?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>From:</b> openssl-users <openssl-users-bounces@openssl.org>
<b>On Behalf Of </b>Kristin Barber<br>
<b>Sent:</b> Monday, March 9, 2020 12:03 PM<br>
<b>To:</b> Richard Levitte <levitte@openssl.org><br>
<b>Cc:</b> openssl-users@openssl.org<br>
<b>Subject:</b> Re: Compiling for RISC-V<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi Richard, thanks for the reply. It was helpful.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">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?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Kristin<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Mon, Mar 9, 2020 at 3:03 AM Richard Levitte <<a href="mailto:levitte@openssl.org">levitte@openssl.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">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="https://linkprotect.cudasvc.com/url?a=http%3a%2f%2fwww.openssl.org%2f~levitte%2f&c=E,1,X0wuSd-kz2nVhT_NOTOEEEyCfRQ3PVlEpzPg7qMVOE18vBdtM4EJjJ0PDdArARBsvQZdWJpbcy94bbUgzuKmj9jsBIiAzT87yPNJQ_aU-tOjP9VR4huaxBYl6g,,&typo=1" target="_blank">http://www.openssl.org/~levitte/</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</body>
</html>