<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[编译平头哥最新的riscv工具链]]></title><description><![CDATA[<p dir="auto">最近换了个aarch64的板子做服务器。玩d1-h的时候发现平头哥没有提供aarch64下的工具链。</p>
<pre><code>#启动一个ubuntu 18.04 环境：
docker run -it -v `pwd`:/work/ ubuntu:18.04 /bin/bash

cd /work

#clone平头哥编译器源码：
git clone --recursive https://github.com/T-head-Semi/xuantie-gnu-toolchain

cd xuantie-gnu-toolchain
#第一趟编译，使用默认的linux-header：
./configure --prefix=`pwd`/.build/install/  \
--with-arch=rv64imafdcv_zfh_xtheadc  --with-abi=lp64d

cd ..

#clone d1-linux源码：
git clone https://github.com/TuringKi/d1-linux

cd d1-linux

#用第一趟编译好的riscv64工具链在指定的linux内核上编译出linux-header：
PATH=/work/xuantie-gnu-toolchain/.build/install/bin/:$PATH \
make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu-  \
headers_install INSTALL_HDR_PATH=`pwd`/.build/install/usr -j8

cd ../xuantie-gnu-toolchain

#第二趟编译，使用指定内核的linux-header版本：
./configure --prefix=`pwd`/.build/install/  \
--with-linux-headers-src=`pwd`/../d1-linux/.build/install/usr/include/ \
--with-arch=rv64imafdcv_zfh_xtheadc  --with-abi=lp64d

make -j8
</code></pre>
<p dir="auto">注意，vector扩展在march的描述字符应该为v0p7，即vector扩展的0.7版。<br />
比如，要使用向量扩展进行编译：</p>
<pre><code>riscv64-unknown-linux-gnu-ar -march=rv64gcv0p7 vector.S
</code></pre>
<p dir="auto">不要使用：</p>
<pre><code>riscv64-unknown-linux-gnu-ar -march=rv64gcv vector.S
</code></pre>
<p dir="auto">编译器不认。</p>
]]></description><link>https://bbs.aw-ol.com/topic/2795/编译平头哥最新的riscv工具链</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 15:14:29 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/2795.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Dec 2022 08:14:18 GMT</pubDate><ttl>60</ttl></channel></rss>