LLDB: Как записать в векторные регистры AArch64 - PullRequest
2 голосов
/ 15 марта 2020

В настоящее время я использую lldb-3.9 на Raspberry Pi Model 3B, и я пытаюсь записать значения в V-регистры в AArch64, но у меня возникают проблемы с этим. Используя register read v0, я могу получить результат v0 = {0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f.

Однако, когда я пытаюсь использовать точную строку для обратной записи в v0, используя register write v0 "{0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f}", я получаю сообщение об ошибке "error: Failed to write register 'v0' with value "{0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f}"

Я также приложил изображение, изображающее проблемы, с которыми я сталкиваюсь. enter image description here

Я использовал тот же метод для регистра XMM x86_64, и он работает, но я озадачен, поскольку это не работает для V-регистров в AArch64. Это связанный с StackOverflow, который я опубликовал в отношении регистров XMM. Как записать в регистры XMM в LLDB .

Мне бы очень хотелось узнать, как я могу записывать в V-регистры в AArch64 и, возможно, каким образом использовать LLDB Python API, так как я сейчас использую функцию SetValueFromCString () для установки значений для векторных регистров.

...