Update to use xdis 4.4.0 ...

with more correct SipHash and other needed bug fixes.
This commit is contained in:
rocky 2020-04-20 10:47:34 -04:00
parent ced33a8f0b
commit 1d7e8f1617
6 changed files with 10 additions and 9 deletions

View File

@ -14,7 +14,6 @@ matrix:
install:
- pip install -e .
- pip install git+git://github.com/rocky/python-xdis.git#egg=xdis-4.3.3
- pip install -r requirements-dev.txt
script:

View File

@ -58,7 +58,7 @@ entry_points = {
]}
ftp_url = None
install_requires = ["spark-parser >= 1.8.9, < 1.9.0",
"xdis >= 4.3.2, < 4.4.0"]
"xdis >= 4.4.0, < 4.5.0"]
license = "GPL3"
mailing_list = "python-debugger@googlegroups.com"

View File

@ -1,4 +1,4 @@
# Copyright (c) 2015-2016, 2818-2019 by Rocky Bernstein
# Copyright (c) 2015-2016, 2818-2020 by Rocky Bernstein
# Copyright (c) 2005 by Dan Pascu <dan@windowmaker.org>
# Copyright (c) 2000-2002 by hartmut Goebel <h.goebel@crazy-compilers.com>
# Copyright (c) 1999 John Aycock
@ -100,7 +100,9 @@ def disassemble_file(filename, outstream=None):
try to find the corresponding compiled object.
"""
filename = check_object_path(filename)
(version, timestamp, magic_int, co, is_pypy, source_size) = load_module(filename)
(version, timestamp, magic_int, co, is_pypy, source_size, sip_hash) = load_module(
filename
)
if type(co) == list:
for con in co:
disco(version, con, outstream)

View File

@ -22,7 +22,7 @@ from xdis.bytecode import Bytecode, findlinestarts, offset2line
def line_number_mapping(pyc_filename, src_filename):
(version, timestamp, magic_int, code1, is_pypy,
source_size) = load_module(pyc_filename)
source_size, sip_hash) = load_module(pyc_filename)
try:
code2 = load_file(src_filename)
except SyntaxError as e:

View File

@ -183,7 +183,7 @@ def decompile_file(
filename = check_object_path(filename)
code_objects = {}
(version, timestamp, magic_int, co, is_pypy, source_size) = load_module(
(version, timestamp, magic_int, co, is_pypy, source_size, sip_hash) = load_module(
filename, code_objects
)

View File

@ -392,7 +392,7 @@ def compare_code_with_srcfile(pyc_filename, src_filename, verify):
is returned. Otherwise a string message describing the mismatch is returned.
"""
(version, timestamp, magic_int, code_obj1, is_pypy,
source_size) = load_module(pyc_filename)
source_size, sip_hash) = load_module(pyc_filename)
if magic_int != PYTHON_MAGIC_INT:
msg = ("Can't compare code - Python is running with magic %s, but code is magic %s "
% (PYTHON_MAGIC_INT, magic_int))
@ -417,9 +417,9 @@ def compare_code_with_srcfile(pyc_filename, src_filename, verify):
def compare_files(pyc_filename1, pyc_filename2, verify):
"""Compare two .pyc files."""
(version1, timestamp, magic_int1, code_obj1, is_pypy,
source_size) = uncompyle6.load_module(pyc_filename1)
source_size, sip_hash) = uncompyle6.load_module(pyc_filename1)
(version2, timestamp, magic_int2, code_obj2, is_pypy,
source_size) = uncompyle6.load_module(pyc_filename2)
source_size, sip_hash) = uncompyle6.load_module(pyc_filename2)
if (magic_int1 != magic_int2) and verify == 'verify':
verify = 'weak_verify'
cmp_code_objects(version1, is_pypy, code_obj1, code_obj2, verify)