From dba5f50ff79d78eb30d75eb27ad5a0dba30162dc Mon Sep 17 00:00:00 2001 From: gumi Date: Mon, 5 Mar 2018 20:54:44 -0500 Subject: fix gdb tests for python3 --- Makefile.in | 2 +- src/generic/dumb_ptr.py | 2 +- src/map/script-parse.py | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile.in b/Makefile.in index 894165e..779ca04 100644 --- a/Makefile.in +++ b/Makefile.in @@ -502,7 +502,7 @@ obj/gtest%.pdc.o: ${GTEST_DIR}/src/gtest%.cc DTEST_OBJS := $(filter obj/debug-debug/%.pdc.o,${PDC_OBJECTS}) DTEST_STAMPS := $(patsubst bin/tests/%.elf,stamp/run-%.stamp,${DTEST_BINARIES}) ${DTEST_OBJS}: override CXXFLAGS += -g -O0 -gdwarf-3 -${DTEST_STAMPS}: override TESTER=${GDB} -return-child-result -nx -batch -ex 'python2.7 file_to_load = "$<"' -x ${SRC_DIR}/tools/debug-debug.gdb --args false +${DTEST_STAMPS}: override TESTER=${GDB} -return-child-result -nx -batch -ex 'python file_to_load = "$<"' -x ${SRC_DIR}/tools/debug-debug.gdb --args false ${DTEST_STAMPS}: tools/debug-debug.gdb ifeq '$(findstring clang,${CXX})' 'clang' ${DTEST_STAMPS}: diff --git a/src/generic/dumb_ptr.py b/src/generic/dumb_ptr.py index b7973a7..c31b1e7 100644 --- a/src/generic/dumb_ptr.py +++ b/src/generic/dumb_ptr.py @@ -7,7 +7,7 @@ class dumb_ptr(object): self._value = value def to_string(self): - return '0x%x' % long(self._value['impl'].cast(gdb.parse_and_eval('(long *)0').type)) + return '0x%x' % int(self._value['impl'].cast(gdb.parse_and_eval('(long *)0').type)) def children(self): try: diff --git a/src/map/script-parse.py b/src/map/script-parse.py index 0309f54..199e348 100644 --- a/src/map/script-parse.py +++ b/src/map/script-parse.py @@ -20,6 +20,8 @@ class ScriptBuffer(object): FUNC_REF, '''.replace(',', '').split() ci = int(b[i]) + if ci < 0: + ci += 256 if ci >= 0x80: rv = 0 sh = 0 @@ -35,6 +37,8 @@ class ScriptBuffer(object): i = next(r) ci = int(b[i]) + if ci < 0: + ci += 256 rv += (ci & 0x7f) << sh sh += 6 if not (ci >= 0xc0): @@ -81,7 +85,7 @@ class ScriptBuffer(object): if ci == 0: break buf.append(ci) - return 'STR "%s"' % str(buf).replace('\\', '\\\\').replace('"', '\\"') + return 'STR "%s"' % bytes(buf).decode("utf-8").replace('\\', '\\\\').replace('"', '\\"') elif cs == 'EOL': return cs + '\n' return cs -- cgit v1.2.3-70-g09d2