Контрольно-пропускной пункт возобновления утверждения броска - ARM Arch

Я пытаюсь создать и возобновить с контрольной точки для скомпилированного двоичного файла ARM (LLVM Test Suite).

  1. Я кросс-скомпилировал LLVM Test Suite с помощью следующей команды в Makefile:

    ./arm-linux-gnueabihf-gcc -O0 -ggdb3 -std = c99 -static $<-o $ @

    (в основном используется кросс-компилятор arm-linux-gnueabihf-gcc версии 7.4)

  2. Я создал контрольные точки с помощью следующей команды:

    ./build/ARM/gem5.opt --outdir = chkpt_only / configs / example / se.py --checkpoint-dir chkpt_only / --take-checkpoints = 0,20000000000 --cpu-type = AtomicSimpleCPU --cmd =../../../Benchmarks/LLVM_Test_Suite/SingleSource/Benchmarks/Stanford/Towers

  3. Я попытался возобновить с контрольной точки с помощью следующей команды:

    ./build/ARM/gem5.opt --outdir = chkpt_only / configs / example / se.py -r 1 --checkpoint-dir chkpt_only / --cpu-type = O3_ARM_v7a_3 --caches --cmd =.. /../../Benchmarks/LLVM_Test_Suite/SingleSource/Benchmarks/Stanford/Towers

Выше, кажется, работает, когда --cpu-type является In-order но для любого процессора O3 я получаю следующее утверждение:

gem5.opt: ​​build/ARM/cpu/o3/rename_map.hh:282: const PhysRegId* UnifiedRenameMap::lookup(const RegId&) const: утверждение `vecMode == Enums::Elem'не выполнено.

Может кто-нибудь, пожалуйста, помогите мне понять / исправить это утверждение?

PS: git commit это 2775f55447edb344d99f30273ad93fea515d7e2b

0 ответов

Другие вопросы по тегам