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


SPEC2017をビルド・実行できる環境を作ろう (4. RISC-V向けのコンパイラをLLVMに変更する)

RISC-V バイナリを QEMU で動作させる試行の続き。

GCCだと-O3オプションで落ちてしまうので、LLVMを試してみよう。

configファイルに以下を追加する。

% define model --target=riscv64-unknown-linux-gnu -march=rv64gc --sysroot=/home/msyksphinz/riscv64-linux/sysroot --gcc-toolchain=/home/msyksphinz/riscv64-linux/

OpenMPに関連するフラグを削除する。

%if %{bits} == 32
   intspeed,fpspeed:
   #
   # Many of the speed benchmarks (6nn.benchmark_s) do not fit in 32 bits
   # If you wish to run SPECint2017_speed or SPECfp2017_speed, please use
   #
   #     runcpu --define bits=64
   #
   fail_build = 1
%else
   intspeed,fpspeed:
       OPENMP_LIB_PATH          = $[OPENMP_DIR]/lin_32e/lib
       EXTRA_OPTIMIZE           = -Wno-return-type -I $(OPENMP_DIR)/common/include
       # EXTRA_LIBS               = -fopenmp=libomp -L$(OPENMP_LIB_PATH) -lomp
       # EXTRA_FLIBS              = -fopenmp=libomp -lgfortran -lm
       preENV_LIBRARY_PATH      = $[LLVM_LIB_PATH]:$[OPENMP_LIB_PATH]
       preENV_LD_LIBRARY_PATH   = $[LLVM_LIB_PATH]:$[OPENMP_LIB_PATH]
      #preENV_LIBRARY_PATH      = $[LLVM_LIB_PATH]:$[OPENMP_LIB_PATH]:%{ENV_LIBRARY_PATH}
      #preENV_LD_LIBRARY_PATH   = $[LLVM_LIB_PATH]:$[OPENMP_LIB_PATH]:%{ENV_LD_LIBRARY_PATH}
       preENV_OMP_THREAD_LIMIT  = %{cputhreads}
       preENV_OMP_STACKSIZE     = 128M
       preENV_GOMP_CPU_AFFINITY = 0-%{cputhreads}
%endif

これで一応コンパイルできるようになる。




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

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