summary refs log tree commit diff stats
path: root/scripts/qemugdb/coroutine.py
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2019-02-06 18:14:25 +0300
committerStefan Hajnoczi <stefanha@redhat.com>2019-02-12 11:49:17 +0800
commit6eaa20c8362cf8e12e023e2e05861f84cec6a438 (patch)
treeadf3cba4a7f9baa68b197c4e22ebacca49da84b8 /scripts/qemugdb/coroutine.py
parent6c95363d97087e665748cf4d42fafdeb6f714e53 (diff)
downloadfocaccia-qemu-6eaa20c8362cf8e12e023e2e05861f84cec6a438.tar.gz
focaccia-qemu-6eaa20c8362cf8e12e023e2e05861f84cec6a438.zip
qemugdb/coroutine: fix arch_prctl has unknown return type
qemu coroutine command results in following error output:

Python Exception <class 'gdb.error'> 'arch_prctl' has unknown return
type; cast the call to its declared return type: Error occurred in
Python command: 'arch_prctl' has unknown return type; cast the call to
its declared return type

Fix it by giving it what it wants: arch_prctl return type.

Information on the topic:
   https://sourceware.org/gdb/onlinedocs/gdb/Calling.html

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id: 20190206151425.105871-1-vsementsov@virtuozzo.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'scripts/qemugdb/coroutine.py')
-rw-r--r--scripts/qemugdb/coroutine.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/qemugdb/coroutine.py b/scripts/qemugdb/coroutine.py
index ab699794ab..81f811ac00 100644
--- a/scripts/qemugdb/coroutine.py
+++ b/scripts/qemugdb/coroutine.py
@@ -22,7 +22,7 @@ def get_fs_base():
        pthread_self().'''
     # %rsp - 120 is scratch space according to the SystemV ABI
     old = gdb.parse_and_eval('*(uint64_t*)($rsp - 120)')
-    gdb.execute('call arch_prctl(0x1003, $rsp - 120)', False, True)
+    gdb.execute('call (int)arch_prctl(0x1003, $rsp - 120)', False, True)
     fs_base = gdb.parse_and_eval('*(uint64_t*)($rsp - 120)')
     gdb.execute('set *(uint64_t*)($rsp - 120) = %s' % old, False, True)
     return fs_base