以下の内容はhttps://msyksphinz.hatenablog.com/entry/2025/05/14/040000より取得しました。


Official GCCでのRISC-Vコンパイル環境構築方法のアップデート調査 (GCC-14.3)

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

GCC15.1にすると、Newlibのビルドが失敗する問題なのだが、バージョンを落としてGCC14.3ならば正しくビルドできることが分かった。

これがなぜなのか理由が良く分からない。正直GCCのリビジョンの違いを追いかけるほどの技量はないのだが、問題をはっきりさせたいので、ChatGPTに聞きつつ頑張って追いかけてみることにした。

GCC14.3は、targetのhelpで以下のようなmarchを出力した。

$ riscv64-unknown-elf-gcc -Q --help=target | grep march
  --print-supported-extensions          -march=help
  -march=                               rv64imafdc_zicsr_zifencei
  -march=help                           [disabled]
  -print-supported-extensions           -march=help

一方GCC15.1では、targetのhelpで以下のようなmarchを出力した。

$ riscv64-unknown-elf-gcc -Q --help=target | grep march
  --print-supported-extensions          -march=help
  -march=                               rv64imafdc_zicsr_zifencei_zmmul_zca_zcd
  -march=help                           [disabled]
  -print-supported-extensions           -march=help

しかも最後に、GCC15.1では、以下のエラーメッセージが表示されているのが気になる:

Assembler messages:
Error: rv64imafdc_zicsr_zifencei_zmmul_zca_zcd: unknown prefixed ISA extension `zca'

これは、binutilsがzcaオプションをサポートしていないということか?Binutilsは2.40を使っていたので、最新版の2.44にバージョンアップしてみると、うまくいった。

つまり、これはbinutilsを最新版にする必要があったということか。




以上の内容はhttps://msyksphinz.hatenablog.com/entry/2025/05/14/040000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14