Commit db664aeb authored by Mark Florisson's avatar Mark Florisson

Made libpython.py compatible with gdb 7.1

parent af9fbdbc
...@@ -2211,19 +2211,6 @@ class PyCont(ExecutionControlCommandBase): ...@@ -2211,19 +2211,6 @@ class PyCont(ExecutionControlCommandBase):
invoke = ExecutionControlCommandBase.cont invoke = ExecutionControlCommandBase.cont
# Wrap py-step and py-next in gdb defines to make them repeatable.
py_step = PyStep('-py-step', PythonInfo())
py_next = PyNext('-py-next', PythonInfo())
register_defines()
py_finish = PyFinish('py-finish', PythonInfo())
py_run = PyRun('py-run', PythonInfo())
py_cont = PyCont('py-cont', PythonInfo())
gdb.execute('set breakpoint pending on')
Py_single_input = 256
Py_file_input = 257
Py_eval_input = 258
def _pointervalue(gdbval): def _pointervalue(gdbval):
""" """
...@@ -2266,7 +2253,11 @@ def get_inferior_unicode_postfix(): ...@@ -2266,7 +2253,11 @@ def get_inferior_unicode_postfix():
return '' return ''
class PythonCodeExecutor(object): class PythonCodeExecutor(object):
Py_single_input = 256
Py_file_input = 257
Py_eval_input = 258
def malloc(self, size): def malloc(self, size):
chunk = (gdb.parse_and_eval("(void *) malloc((size_t) %d)" % size)) chunk = (gdb.parse_and_eval("(void *) malloc((size_t) %d)" % size))
...@@ -2439,7 +2430,7 @@ class PyExec(gdb.Command): ...@@ -2439,7 +2430,7 @@ class PyExec(gdb.Command):
def readcode(self, expr): def readcode(self, expr):
if expr: if expr:
return expr, Py_single_input return expr, PythonCodeExecutor.Py_single_input
else: else:
lines = [] lines = []
while True: while True:
...@@ -2469,7 +2460,18 @@ class PyExec(gdb.Command): ...@@ -2469,7 +2460,18 @@ class PyExec(gdb.Command):
executor.evalcode(expr, input_type, global_dict, local_dict) executor.evalcode(expr, input_type, global_dict, local_dict)
gdb.execute('set breakpoint pending on')
if hasattr(gdb, 'GdbError'): if hasattr(gdb, 'GdbError'):
# Wrap py-step and py-next in gdb defines to make them repeatable.
py_step = PyStep('-py-step', PythonInfo())
py_next = PyNext('-py-next', PythonInfo())
register_defines()
py_finish = PyFinish('py-finish', PythonInfo())
py_run = PyRun('py-run', PythonInfo())
py_cont = PyCont('py-cont', PythonInfo())
py_exec = FixGdbCommand('py-exec', '-py-exec') py_exec = FixGdbCommand('py-exec', '-py-exec')
_py_exec = PyExec("-py-exec", gdb.COMMAND_DATA, gdb.COMPLETE_NONE) _py_exec = PyExec("-py-exec", gdb.COMMAND_DATA, gdb.COMPLETE_NONE)
else: else:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment