diff options
Diffstat (limited to 'scripts/wrapper/spike/riscv64-unknown-linux-gnu-run')
-rwxr-xr-x | scripts/wrapper/spike/riscv64-unknown-linux-gnu-run | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/scripts/wrapper/spike/riscv64-unknown-linux-gnu-run b/scripts/wrapper/spike/riscv64-unknown-linux-gnu-run index 6f5ba83..819ac7a 100755 --- a/scripts/wrapper/spike/riscv64-unknown-linux-gnu-run +++ b/scripts/wrapper/spike/riscv64-unknown-linux-gnu-run @@ -1,7 +1,8 @@ -#!/bin/sh +#!/bin/bash -xlen="$(readelf -h $1 | grep 'Class' | cut -d: -f 2 | xargs echo | sed 's/^ELF//')" -arch="${ARCH_STR#*=}" -spike \ - --isa=${arch} \ - ${PK_PATH}/pk${xlen} "$@" +xlen="$(march-to-cpu-opt --elf-file-path $1 --print-xlen)" +isa="$(march-to-cpu-opt --elf-file-path $1 --print-spike-isa)" +varch="$(march-to-cpu-opt --elf-file-path $1 --print-spike-varch)" + +[[ -z ${varch} ]] && spike --isa=${isa} ${PK_PATH}/pk${xlen} "$@" +[[ ! -z ${varch} ]] && spike --isa=${isa} --varch=${varch} ${PK_PATH}/pk${xlen} "$@" |