head	1.27;
access;
symbols
	pkgsrc-2026Q1:1.26.0.4
	pkgsrc-2026Q1-base:1.26
	pkgsrc-2025Q4:1.26.0.2
	pkgsrc-2025Q4-base:1.26
	pkgsrc-2025Q3:1.25.0.2
	pkgsrc-2025Q3-base:1.25
	pkgsrc-2025Q2:1.24.0.2
	pkgsrc-2025Q2-base:1.24
	pkgsrc-2025Q1:1.23.0.2
	pkgsrc-2025Q1-base:1.23
	pkgsrc-2024Q4:1.22.0.2
	pkgsrc-2024Q4-base:1.22
	pkgsrc-2024Q3:1.21.0.2
	pkgsrc-2024Q3-base:1.21
	pkgsrc-2024Q2:1.20.0.4
	pkgsrc-2024Q2-base:1.20
	pkgsrc-2024Q1:1.20.0.2
	pkgsrc-2024Q1-base:1.20
	pkgsrc-2023Q4:1.19.0.8
	pkgsrc-2023Q4-base:1.19
	pkgsrc-2023Q3:1.19.0.6
	pkgsrc-2023Q3-base:1.19
	pkgsrc-2023Q2:1.19.0.4
	pkgsrc-2023Q2-base:1.19
	pkgsrc-2023Q1:1.19.0.2
	pkgsrc-2023Q1-base:1.19
	pkgsrc-2022Q4:1.18.0.6
	pkgsrc-2022Q4-base:1.18
	pkgsrc-2022Q3:1.18.0.4
	pkgsrc-2022Q3-base:1.18
	pkgsrc-2022Q2:1.18.0.2
	pkgsrc-2022Q2-base:1.18
	pkgsrc-2022Q1:1.17.0.4
	pkgsrc-2022Q1-base:1.17
	pkgsrc-2021Q4:1.17.0.2
	pkgsrc-2021Q4-base:1.17
	pkgsrc-2021Q3:1.16.0.4
	pkgsrc-2021Q3-base:1.16
	pkgsrc-2021Q2:1.16.0.2
	pkgsrc-2021Q2-base:1.16
	pkgsrc-2021Q1:1.15.0.2
	pkgsrc-2021Q1-base:1.15
	pkgsrc-2020Q4:1.14.0.4
	pkgsrc-2020Q4-base:1.14
	pkgsrc-2020Q3:1.14.0.2
	pkgsrc-2020Q3-base:1.14
	pkgsrc-2020Q2:1.13.0.2
	pkgsrc-2020Q2-base:1.13
	pkgsrc-2020Q1:1.10.0.2
	pkgsrc-2020Q1-base:1.10
	pkgsrc-2019Q4:1.10.0.4
	pkgsrc-2019Q4-base:1.10
	pkgsrc-2019Q3:1.7.0.2
	pkgsrc-2019Q3-base:1.7
	pkgsrc-2019Q2:1.6.0.2
	pkgsrc-2019Q2-base:1.6
	pkgsrc-2019Q1:1.3.0.2
	pkgsrc-2019Q1-base:1.3
	pkgsrc-2018Q4:1.1.0.4
	pkgsrc-2018Q4-base:1.1
	pkgsrc-2018Q3:1.1.0.2
	pkgsrc-2018Q3-base:1.1;
locks; strict;
comment	@# @;


1.27
date	2026.03.30.15.31.56;	author adam;	state Exp;
branches;
next	1.26;
commitid	JgyXdj4vlRcvR0AG;

1.26
date	2025.10.16.09.44.06;	author adam;	state Exp;
branches;
next	1.25;
commitid	ly0YhcXgyRxZeMeG;

1.25
date	2025.08.02.10.42.10;	author adam;	state Exp;
branches;
next	1.24;
commitid	FsE2QfxN81ekY85G;

1.24
date	2025.04.13.06.51.58;	author adam;	state Exp;
branches;
next	1.23;
commitid	Zp1Yi7w8ZLAGgRQF;

1.23
date	2024.12.25.21.59.39;	author adam;	state Exp;
branches;
next	1.22;
commitid	CHihOx80YZjfNVCF;

1.22
date	2024.11.12.10.53.53;	author adam;	state Exp;
branches;
next	1.21;
commitid	6aZ2e8XAEDcwulxF;

1.21
date	2024.07.22.05.19.21;	author adam;	state Exp;
branches;
next	1.20;
commitid	wMKMt4NpU5eXgNiF;

1.20
date	2024.03.23.06.49.52;	author adam;	state Exp;
branches;
next	1.19;
commitid	n1gDXvruk2c7Ff3F;

1.19
date	2023.01.16.09.26.23;	author adam;	state Exp;
branches;
next	1.18;
commitid	NpOd8hSXXZ7JpK9E;

1.18
date	2022.05.22.19.05.00;	author adam;	state Exp;
branches;
next	1.17;
commitid	BNUC4izJoNVAi5FD;

1.17
date	2021.10.31.08.40.03;	author adam;	state Exp;
branches;
next	1.16;
commitid	Dkgt7AZt5zFImWeD;

1.16
date	2021.04.22.16.07.43;	author adam;	state Exp;
branches;
next	1.15;
commitid	PmoABU79NDhY0jQC;

1.15
date	2021.03.14.08.25.02;	author adam;	state Exp;
branches;
next	1.14;
commitid	SjLkUctKfc2XHfLC;

1.14
date	2020.09.10.09.25.02;	author adam;	state Exp;
branches;
next	1.13;
commitid	5wSc3hfw976WYtnC;

1.13
date	2020.06.20.16.21.38;	author adam;	state Exp;
branches;
next	1.12;
commitid	K5CPWfQw5VRyVYcC;

1.12
date	2020.04.28.11.01.17;	author adam;	state Exp;
branches;
next	1.11;
commitid	9aK6TeovSfVcR86C;

1.11
date	2020.04.16.18.32.32;	author adam;	state Exp;
branches;
next	1.10;
commitid	qiLhoHtZJzBQJD4C;

1.10
date	2019.12.11.13.18.25;	author adam;	state Exp;
branches;
next	1.9;
commitid	irI1NCP9JcIl5iOB;

1.9
date	2019.11.20.09.29.21;	author adam;	state Exp;
branches;
next	1.8;
commitid	6qE8mj6dqXzCuzLB;

1.8
date	2019.10.15.16.59.35;	author adam;	state Exp;
branches;
next	1.7;
commitid	AeLpcrcZuziN8ZGB;

1.7
date	2019.08.03.08.55.10;	author adam;	state Exp;
branches;
next	1.6;
commitid	ssQ6dO3OS3L6OyxB;

1.6
date	2019.06.13.07.52.45;	author adam;	state Exp;
branches;
next	1.5;
commitid	LFedstefPTnj60rB;

1.5
date	2019.05.02.08.32.15;	author adam;	state Exp;
branches;
next	1.4;
commitid	hwFJ9LYmEORyFBlB;

1.4
date	2019.04.17.12.16.05;	author adam;	state Exp;
branches;
next	1.3;
commitid	regzcMiP6dU9oHjB;

1.3
date	2019.03.10.13.52.36;	author adam;	state Exp;
branches;
next	1.2;
commitid	LqcnApAwDAf79PeB;

1.2
date	2019.01.04.22.13.11;	author adam;	state Exp;
branches;
next	1.1;
commitid	xMdTzQncLRrk0w6B;

1.1
date	2018.09.20.13.45.11;	author adam;	state Exp;
branches;
next	;
commitid	1ccGDXGmvGDjBQSA;


desc
@@


1.27
log
@py-xdis: updated to 6.3.0

6.3.0 2026-03-30 Your Conference listed here

* Add magics up to 3.10.20, 3.11.15, 3.12.13, and 3.15.0a7
* Add Graal and RustPython opcodes and disassembly
* Test framework a la Elliot Tarbet
* Add `IS_C_PYTHON` which tests whether the platform is the CPython implementation
* DRY unmarshal integer reading routines
@
text
@@@comment $NetBSD: PLIST,v 1.26 2025/10/16 09:44:06 adam Exp $
bin/pydisasm-${PYVERSSUFFIX}
bin/roundtrip-pyc
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
${PYSITELIB}/${WHEEL_INFODIR}/licenses/COPYING
${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
${PYSITELIB}/xdis/.gitignore
${PYSITELIB}/xdis/__init__.py
${PYSITELIB}/xdis/__init__.pyc
${PYSITELIB}/xdis/__init__.pyo
${PYSITELIB}/xdis/__main__.py
${PYSITELIB}/xdis/__main__.pyc
${PYSITELIB}/xdis/__main__.pyo
${PYSITELIB}/xdis/bin/__init__.py
${PYSITELIB}/xdis/bin/__init__.pyc
${PYSITELIB}/xdis/bin/__init__.pyo
${PYSITELIB}/xdis/bin/pydisasm.py
${PYSITELIB}/xdis/bin/pydisasm.pyc
${PYSITELIB}/xdis/bin/pydisasm.pyo
${PYSITELIB}/xdis/bytecode.py
${PYSITELIB}/xdis/bytecode.pyc
${PYSITELIB}/xdis/bytecode.pyo
${PYSITELIB}/xdis/bytecode_graal.py
${PYSITELIB}/xdis/bytecode_graal.pyc
${PYSITELIB}/xdis/bytecode_graal.pyo
${PYSITELIB}/xdis/codetype/.gitignore
${PYSITELIB}/xdis/codetype/__init__.py
${PYSITELIB}/xdis/codetype/__init__.pyc
${PYSITELIB}/xdis/codetype/__init__.pyo
${PYSITELIB}/xdis/codetype/base.py
${PYSITELIB}/xdis/codetype/base.pyc
${PYSITELIB}/xdis/codetype/base.pyo
${PYSITELIB}/xdis/codetype/code13.py
${PYSITELIB}/xdis/codetype/code13.pyc
${PYSITELIB}/xdis/codetype/code13.pyo
${PYSITELIB}/xdis/codetype/code15.py
${PYSITELIB}/xdis/codetype/code15.pyc
${PYSITELIB}/xdis/codetype/code15.pyo
${PYSITELIB}/xdis/codetype/code20.py
${PYSITELIB}/xdis/codetype/code20.pyc
${PYSITELIB}/xdis/codetype/code20.pyo
${PYSITELIB}/xdis/codetype/code30.py
${PYSITELIB}/xdis/codetype/code30.pyc
${PYSITELIB}/xdis/codetype/code30.pyo
${PYSITELIB}/xdis/codetype/code310.py
${PYSITELIB}/xdis/codetype/code310.pyc
${PYSITELIB}/xdis/codetype/code310.pyo
${PYSITELIB}/xdis/codetype/code310graal.py
${PYSITELIB}/xdis/codetype/code310graal.pyc
${PYSITELIB}/xdis/codetype/code310graal.pyo
${PYSITELIB}/xdis/codetype/code311.py
${PYSITELIB}/xdis/codetype/code311.pyc
${PYSITELIB}/xdis/codetype/code311.pyo
${PYSITELIB}/xdis/codetype/code311graal.py
${PYSITELIB}/xdis/codetype/code311graal.pyc
${PYSITELIB}/xdis/codetype/code311graal.pyo
${PYSITELIB}/xdis/codetype/code312rust.py
${PYSITELIB}/xdis/codetype/code312rust.pyc
${PYSITELIB}/xdis/codetype/code312rust.pyo
${PYSITELIB}/xdis/codetype/code313rust.py
${PYSITELIB}/xdis/codetype/code313rust.pyc
${PYSITELIB}/xdis/codetype/code313rust.pyo
${PYSITELIB}/xdis/codetype/code38.py
${PYSITELIB}/xdis/codetype/code38.pyc
${PYSITELIB}/xdis/codetype/code38.pyo
${PYSITELIB}/xdis/codetype/code38graal.py
${PYSITELIB}/xdis/codetype/code38graal.pyc
${PYSITELIB}/xdis/codetype/code38graal.pyo
${PYSITELIB}/xdis/cross_dis.py
${PYSITELIB}/xdis/cross_dis.pyc
${PYSITELIB}/xdis/cross_dis.pyo
${PYSITELIB}/xdis/cross_types.py
${PYSITELIB}/xdis/cross_types.pyc
${PYSITELIB}/xdis/cross_types.pyo
${PYSITELIB}/xdis/disasm.py
${PYSITELIB}/xdis/disasm.pyc
${PYSITELIB}/xdis/disasm.pyo
${PYSITELIB}/xdis/dropbox/__init__.py
${PYSITELIB}/xdis/dropbox/__init__.pyc
${PYSITELIB}/xdis/dropbox/__init__.pyo
${PYSITELIB}/xdis/dropbox/decrypt25.py
${PYSITELIB}/xdis/dropbox/decrypt25.pyc
${PYSITELIB}/xdis/dropbox/decrypt25.pyo
${PYSITELIB}/xdis/instruction.py
${PYSITELIB}/xdis/instruction.pyc
${PYSITELIB}/xdis/instruction.pyo
${PYSITELIB}/xdis/lineoffsets.py
${PYSITELIB}/xdis/lineoffsets.pyc
${PYSITELIB}/xdis/lineoffsets.pyo
${PYSITELIB}/xdis/lineoffsets_graal.py
${PYSITELIB}/xdis/lineoffsets_graal.pyc
${PYSITELIB}/xdis/lineoffsets_graal.pyo
${PYSITELIB}/xdis/load.py
${PYSITELIB}/xdis/load.pyc
${PYSITELIB}/xdis/load.pyo
${PYSITELIB}/xdis/magics.py
${PYSITELIB}/xdis/magics.pyc
${PYSITELIB}/xdis/magics.pyo
${PYSITELIB}/xdis/marsh.py
${PYSITELIB}/xdis/marsh.pyc
${PYSITELIB}/xdis/marsh.pyo
${PYSITELIB}/xdis/op_imports.py
${PYSITELIB}/xdis/op_imports.pyc
${PYSITELIB}/xdis/op_imports.pyo
${PYSITELIB}/xdis/opcodes/__init__.py
${PYSITELIB}/xdis/opcodes/__init__.pyc
${PYSITELIB}/xdis/opcodes/__init__.pyo
${PYSITELIB}/xdis/opcodes/base.py
${PYSITELIB}/xdis/opcodes/base.pyc
${PYSITELIB}/xdis/opcodes/base.pyo
${PYSITELIB}/xdis/opcodes/format/__init__.py
${PYSITELIB}/xdis/opcodes/format/__init__.pyc
${PYSITELIB}/xdis/opcodes/format/__init__.pyo
${PYSITELIB}/xdis/opcodes/format/basic.py
${PYSITELIB}/xdis/opcodes/format/basic.pyc
${PYSITELIB}/xdis/opcodes/format/basic.pyo
${PYSITELIB}/xdis/opcodes/format/extended.py
${PYSITELIB}/xdis/opcodes/format/extended.pyc
${PYSITELIB}/xdis/opcodes/format/extended.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x/__init__.py
${PYSITELIB}/xdis/opcodes/opcode_1x/__init__.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x/__init__.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_10.py
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_10.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_10.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_11.py
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_11.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_11.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_12.py
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_12.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_12.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_13.py
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_13.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_13.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_14.py
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_14.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_14.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_15.py
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_15.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_15.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_16.py
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_16.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_16.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_1x.py
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_1x.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x/opcode_1x.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/__init__.py
${PYSITELIB}/xdis/opcodes/opcode_2x/__init__.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/__init__.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_20.py
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_20.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_20.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_21.py
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_21.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_21.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_22.py
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_22.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_22.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_23.py
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_23.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_23.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_24.py
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_24.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_24.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_25.py
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_25.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_25.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_26.py
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_26.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_26.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_27.py
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_27.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_27.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_2x.py
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_2x.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x/opcode_2x.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/__init__.py
${PYSITELIB}/xdis/opcodes/opcode_3x/__init__.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/__init__.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_30.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_30.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_30.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_31.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_31.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_31.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_310.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_310.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_310.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_311.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_311.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_311.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_312.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_312.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_312.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_313.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_313.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_313.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_314.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_314.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_314.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_32.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_32.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_32.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_33.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_33.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_33.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_34.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_34.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_34.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_35.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_35.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_35.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_36.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_36.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_36.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_37.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_37.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_37.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_38.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_38.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_38.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_39.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_39.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_39.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_3x.py
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_3x.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x/opcode_3x.pyo
${PYSITELIB}/xdis/opcodes/opcode_graal/__init__.py
${PYSITELIB}/xdis/opcodes/opcode_graal/__init__.pyc
${PYSITELIB}/xdis/opcodes/opcode_graal/__init__.pyo
${PYSITELIB}/xdis/opcodes/opcode_graal/base_graal.py
${PYSITELIB}/xdis/opcodes/opcode_graal/base_graal.pyc
${PYSITELIB}/xdis/opcodes/opcode_graal/base_graal.pyo
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_310graal.py
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_310graal.pyc
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_310graal.pyo
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_311graal.py
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_311graal.pyc
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_311graal.pyo
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_312graal.py
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_312graal.pyc
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_312graal.pyo
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_38graal.py
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_38graal.pyc
${PYSITELIB}/xdis/opcodes/opcode_graal/opcode_38graal.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/__init__.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/__init__.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/__init__.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_26pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_26pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_26pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_27pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_27pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_27pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_310pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_310pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_310pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_311pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_311pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_311pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_32pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_32pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_32pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_33pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_33pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_33pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_35pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_35pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_35pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_36pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_36pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_36pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_37pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_37pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_37pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_38pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_38pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_38pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_39pypy.py
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_39pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy/opcode_39pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_rust/__init__.py
${PYSITELIB}/xdis/opcodes/opcode_rust/__init__.pyc
${PYSITELIB}/xdis/opcodes/opcode_rust/__init__.pyo
${PYSITELIB}/xdis/opcodes/opcode_rust/base.py
${PYSITELIB}/xdis/opcodes/opcode_rust/base.pyc
${PYSITELIB}/xdis/opcodes/opcode_rust/base.pyo
${PYSITELIB}/xdis/opcodes/opcode_rust/opcode_12897rust.py
${PYSITELIB}/xdis/opcodes/opcode_rust/opcode_12897rust.pyc
${PYSITELIB}/xdis/opcodes/opcode_rust/opcode_12897rust.pyo
${PYSITELIB}/xdis/opcodes/opcode_rust/opcode_24481rust.py
${PYSITELIB}/xdis/opcodes/opcode_rust/opcode_24481rust.pyc
${PYSITELIB}/xdis/opcodes/opcode_rust/opcode_24481rust.pyo
${PYSITELIB}/xdis/opcodes/opcode_rust/opcode_3531rust.py
${PYSITELIB}/xdis/opcodes/opcode_rust/opcode_3531rust.pyc
${PYSITELIB}/xdis/opcodes/opcode_rust/opcode_3531rust.pyo
${PYSITELIB}/xdis/roundtrip_pyc.py
${PYSITELIB}/xdis/roundtrip_pyc.pyc
${PYSITELIB}/xdis/roundtrip_pyc.pyo
${PYSITELIB}/xdis/std.py
${PYSITELIB}/xdis/std.pyc
${PYSITELIB}/xdis/std.pyo
${PYSITELIB}/xdis/unmarsh_graal.py
${PYSITELIB}/xdis/unmarsh_graal.pyc
${PYSITELIB}/xdis/unmarsh_graal.pyo
${PYSITELIB}/xdis/unmarsh_rust.py
${PYSITELIB}/xdis/unmarsh_rust.pyc
${PYSITELIB}/xdis/unmarsh_rust.pyo
${PYSITELIB}/xdis/unmarshal.py
${PYSITELIB}/xdis/unmarshal.pyc
${PYSITELIB}/xdis/unmarshal.pyo
${PYSITELIB}/xdis/util.py
${PYSITELIB}/xdis/util.pyc
${PYSITELIB}/xdis/util.pyo
${PYSITELIB}/xdis/verify.py
${PYSITELIB}/xdis/verify.pyc
${PYSITELIB}/xdis/verify.pyo
${PYSITELIB}/xdis/version.py
${PYSITELIB}/xdis/version.pyc
${PYSITELIB}/xdis/version.pyo
${PYSITELIB}/xdis/version_info.py
${PYSITELIB}/xdis/version_info.pyc
${PYSITELIB}/xdis/version_info.pyo
${PYSITELIB}/xdis/wordcode.py
${PYSITELIB}/xdis/wordcode.pyc
${PYSITELIB}/xdis/wordcode.pyo
@


1.26
log
@py-xdis: updated to 6.1.7

6.1.7 2025-10-12

* Include Python versions 3.9.24, 3.10.19, 3.11.14, and 3.12.12
* Better code type and marshalling routines for 3.11+
* Adjust formatting for `MAKE_FUNCTION` for 3.6 & 3.11. Python 3.11 MAKE_FUNCTION is different from 3.6.
* Fix O(n^2) performance issue with Python 3.11+ exception. Patch submitted by ril3y.
* Don't allow installing the wrong wheel or tarball for the Python interpreter installed.
* Add more magics like Rust and 3.15. Python 3.14 is out, so that's another magic number too.
* Minimal support for RustPython bytecode.
* Improve 3.13 assembly priting
* Handle pyston and unknown bytecodes better
* More type annotations via pyrefly
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.25 2025/08/02 10:42:10 adam Exp $
d3 1
d26 3
d51 3
d57 9
d69 3
d93 3
d123 180
a302 138
${PYSITELIB}/xdis/opcodes/opcode_10.py
${PYSITELIB}/xdis/opcodes/opcode_10.pyc
${PYSITELIB}/xdis/opcodes/opcode_10.pyo
${PYSITELIB}/xdis/opcodes/opcode_11.py
${PYSITELIB}/xdis/opcodes/opcode_11.pyc
${PYSITELIB}/xdis/opcodes/opcode_11.pyo
${PYSITELIB}/xdis/opcodes/opcode_12.py
${PYSITELIB}/xdis/opcodes/opcode_12.pyc
${PYSITELIB}/xdis/opcodes/opcode_12.pyo
${PYSITELIB}/xdis/opcodes/opcode_13.py
${PYSITELIB}/xdis/opcodes/opcode_13.pyc
${PYSITELIB}/xdis/opcodes/opcode_13.pyo
${PYSITELIB}/xdis/opcodes/opcode_14.py
${PYSITELIB}/xdis/opcodes/opcode_14.pyc
${PYSITELIB}/xdis/opcodes/opcode_14.pyo
${PYSITELIB}/xdis/opcodes/opcode_15.py
${PYSITELIB}/xdis/opcodes/opcode_15.pyc
${PYSITELIB}/xdis/opcodes/opcode_15.pyo
${PYSITELIB}/xdis/opcodes/opcode_16.py
${PYSITELIB}/xdis/opcodes/opcode_16.pyc
${PYSITELIB}/xdis/opcodes/opcode_16.pyo
${PYSITELIB}/xdis/opcodes/opcode_1x.py
${PYSITELIB}/xdis/opcodes/opcode_1x.pyc
${PYSITELIB}/xdis/opcodes/opcode_1x.pyo
${PYSITELIB}/xdis/opcodes/opcode_20.py
${PYSITELIB}/xdis/opcodes/opcode_20.pyc
${PYSITELIB}/xdis/opcodes/opcode_20.pyo
${PYSITELIB}/xdis/opcodes/opcode_21.py
${PYSITELIB}/xdis/opcodes/opcode_21.pyc
${PYSITELIB}/xdis/opcodes/opcode_21.pyo
${PYSITELIB}/xdis/opcodes/opcode_22.py
${PYSITELIB}/xdis/opcodes/opcode_22.pyc
${PYSITELIB}/xdis/opcodes/opcode_22.pyo
${PYSITELIB}/xdis/opcodes/opcode_23.py
${PYSITELIB}/xdis/opcodes/opcode_23.pyc
${PYSITELIB}/xdis/opcodes/opcode_23.pyo
${PYSITELIB}/xdis/opcodes/opcode_24.py
${PYSITELIB}/xdis/opcodes/opcode_24.pyc
${PYSITELIB}/xdis/opcodes/opcode_24.pyo
${PYSITELIB}/xdis/opcodes/opcode_25.py
${PYSITELIB}/xdis/opcodes/opcode_25.pyc
${PYSITELIB}/xdis/opcodes/opcode_25.pyo
${PYSITELIB}/xdis/opcodes/opcode_26.py
${PYSITELIB}/xdis/opcodes/opcode_26.pyc
${PYSITELIB}/xdis/opcodes/opcode_26.pyo
${PYSITELIB}/xdis/opcodes/opcode_26pypy.py
${PYSITELIB}/xdis/opcodes/opcode_26pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_26pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_27.py
${PYSITELIB}/xdis/opcodes/opcode_27.pyc
${PYSITELIB}/xdis/opcodes/opcode_27.pyo
${PYSITELIB}/xdis/opcodes/opcode_27pypy.py
${PYSITELIB}/xdis/opcodes/opcode_27pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_27pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_2x.py
${PYSITELIB}/xdis/opcodes/opcode_2x.pyc
${PYSITELIB}/xdis/opcodes/opcode_2x.pyo
${PYSITELIB}/xdis/opcodes/opcode_30.py
${PYSITELIB}/xdis/opcodes/opcode_30.pyc
${PYSITELIB}/xdis/opcodes/opcode_30.pyo
${PYSITELIB}/xdis/opcodes/opcode_31.py
${PYSITELIB}/xdis/opcodes/opcode_31.pyc
${PYSITELIB}/xdis/opcodes/opcode_31.pyo
${PYSITELIB}/xdis/opcodes/opcode_310.py
${PYSITELIB}/xdis/opcodes/opcode_310.pyc
${PYSITELIB}/xdis/opcodes/opcode_310.pyo
${PYSITELIB}/xdis/opcodes/opcode_310graal.py
${PYSITELIB}/xdis/opcodes/opcode_310graal.pyc
${PYSITELIB}/xdis/opcodes/opcode_310graal.pyo
${PYSITELIB}/xdis/opcodes/opcode_310pypy.py
${PYSITELIB}/xdis/opcodes/opcode_310pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_310pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_311.py
${PYSITELIB}/xdis/opcodes/opcode_311.pyc
${PYSITELIB}/xdis/opcodes/opcode_311.pyo
${PYSITELIB}/xdis/opcodes/opcode_311pypy.py
${PYSITELIB}/xdis/opcodes/opcode_311pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_311pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_312.py
${PYSITELIB}/xdis/opcodes/opcode_312.pyc
${PYSITELIB}/xdis/opcodes/opcode_312.pyo
${PYSITELIB}/xdis/opcodes/opcode_312rust.py
${PYSITELIB}/xdis/opcodes/opcode_312rust.pyc
${PYSITELIB}/xdis/opcodes/opcode_312rust.pyo
${PYSITELIB}/xdis/opcodes/opcode_313.py
${PYSITELIB}/xdis/opcodes/opcode_313.pyc
${PYSITELIB}/xdis/opcodes/opcode_313.pyo
${PYSITELIB}/xdis/opcodes/opcode_314.py
${PYSITELIB}/xdis/opcodes/opcode_314.pyc
${PYSITELIB}/xdis/opcodes/opcode_314.pyo
${PYSITELIB}/xdis/opcodes/opcode_32.py
${PYSITELIB}/xdis/opcodes/opcode_32.pyc
${PYSITELIB}/xdis/opcodes/opcode_32.pyo
${PYSITELIB}/xdis/opcodes/opcode_32pypy.py
${PYSITELIB}/xdis/opcodes/opcode_32pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_32pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_33.py
${PYSITELIB}/xdis/opcodes/opcode_33.pyc
${PYSITELIB}/xdis/opcodes/opcode_33.pyo
${PYSITELIB}/xdis/opcodes/opcode_33pypy.py
${PYSITELIB}/xdis/opcodes/opcode_33pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_33pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_34.py
${PYSITELIB}/xdis/opcodes/opcode_34.pyc
${PYSITELIB}/xdis/opcodes/opcode_34.pyo
${PYSITELIB}/xdis/opcodes/opcode_35.py
${PYSITELIB}/xdis/opcodes/opcode_35.pyc
${PYSITELIB}/xdis/opcodes/opcode_35.pyo
${PYSITELIB}/xdis/opcodes/opcode_35pypy.py
${PYSITELIB}/xdis/opcodes/opcode_35pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_35pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_36.py
${PYSITELIB}/xdis/opcodes/opcode_36.pyc
${PYSITELIB}/xdis/opcodes/opcode_36.pyo
${PYSITELIB}/xdis/opcodes/opcode_36pypy.py
${PYSITELIB}/xdis/opcodes/opcode_36pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_36pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_37.py
${PYSITELIB}/xdis/opcodes/opcode_37.pyc
${PYSITELIB}/xdis/opcodes/opcode_37.pyo
${PYSITELIB}/xdis/opcodes/opcode_37pypy.py
${PYSITELIB}/xdis/opcodes/opcode_37pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_37pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_38.py
${PYSITELIB}/xdis/opcodes/opcode_38.pyc
${PYSITELIB}/xdis/opcodes/opcode_38.pyo
${PYSITELIB}/xdis/opcodes/opcode_38pypy.py
${PYSITELIB}/xdis/opcodes/opcode_38pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_38pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_39.py
${PYSITELIB}/xdis/opcodes/opcode_39.pyc
${PYSITELIB}/xdis/opcodes/opcode_39.pyo
${PYSITELIB}/xdis/opcodes/opcode_39pypy.py
${PYSITELIB}/xdis/opcodes/opcode_39pypy.pyc
${PYSITELIB}/xdis/opcodes/opcode_39pypy.pyo
${PYSITELIB}/xdis/opcodes/opcode_3x.py
${PYSITELIB}/xdis/opcodes/opcode_3x.pyc
${PYSITELIB}/xdis/opcodes/opcode_3x.pyo
d306 6
@


1.25
log
@py-xdis: updated to 6.1.5

6.1.5 2025-07-25

* Start extended formatting for stack maipulation opcodes: SWAP, COPY, DUP_TUP, ROT_XXX
* Add magics: RustPython 3.12 & 3.13, Graal 3.11.7, PyPy 3.11.3
* Note that Python versions 3.9.21-3.9.24, 3.10,18, 3.11.13, 3.12.11, 3.13.4-5 now exist
* Add PyPy 3.9 and 3.10 bytecode for regular testing
* Fix 163: extended formatting for %=
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.24 2025/04/13 06:51:58 adam Exp $
a70 3
${PYSITELIB}/xdis/jvm.py
${PYSITELIB}/xdis/jvm.pyc
${PYSITELIB}/xdis/jvm.pyo
d182 3
d188 3
@


1.24
log
@Fix PLIST after py-setuptools update; bump depends and revision
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.23 2024/12/25 21:59:39 adam Exp $
d179 3
@


1.23
log
@py-xdis: updated to 6.1.3

6.1.3 2024-12-19

* Support for Python 3.13 added courtesy of Elliot Tarbet 2elli
* Add get_logical_instruction_at_offset() This disassembles a single instruction at a given offset
* Update Python magics for 3.13.1, 3.10.16, pypy3.6.12, 3.12.8
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.22 2024/11/12 10:53:53 adam Exp $
a2 1
${PYSITELIB}/${WHEEL_INFODIR}/COPYING
d7 1
@


1.22
log
@py-xdis: updated to 6.1.2

6.1.2 2024-11-08

* Support for Python 3.12 and 3.12 added courtesy of Elliot Tarbet 2elli
* Fixes issues
* Include Python 3.12.5
* Raise exception on invalid timestamp
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.21 2024/07/22 05:19:21 adam Exp $
a49 3
${PYSITELIB}/xdis/codetype/code313.py
${PYSITELIB}/xdis/codetype/code313.pyc
${PYSITELIB}/xdis/codetype/code313.pyo
a151 3
${PYSITELIB}/xdis/opcodes/opcode_27-next.py
${PYSITELIB}/xdis/opcodes/opcode_27-next.pyc
${PYSITELIB}/xdis/opcodes/opcode_27-next.pyo
@


1.21
log
@py-xdis: updated to 6.1.1

6.1.1 2024-07-21

* Greatly improve extended-format output. (More could be done though)
* Update Python versions recognize, e.g. 3.12.4
* Add nullaryloadop for nullary load opcodes
* More code linting and type annotation
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.20 2024/03/23 06:49:52 adam Exp $
a43 3
${PYSITELIB}/xdis/codetype/code310-try.py
${PYSITELIB}/xdis/codetype/code310-try.pyc
${PYSITELIB}/xdis/codetype/code310-try.pyo
d50 3
d155 3
d188 3
@


1.20
log
@py-xdis: updated to 6.1.0

6.1.0 2024-03-15
=================

Lots of changes major changes. API has changed.

We now support many disassembly options:
  * classic:  disasm-like output
  * bytes: disasm-like output with bytecode
  * extended: simple interpretation of previous sequence of instructions
  * extended-bytes: same as above, but with "bytes" bytecode ouptut
  * header: show header/metadata information only

This is reflected in the `--format` (`-F`) options on `pydisasm`.
Option `--show-source` (`-S`) gives add the source text line (or part of it) before assembly instructions that implement the line.

Released Python magic numbers have been updated as of this release (up to Python 3.12.2, including PyPy magic numbers.

Some support for the [GraalVM](https://www.graalvm.org/python/)
implementation of Python started.

Many bugs fixed.

A lot of Linting and coding style modernization.

typing.NameTuple used for Python versions that support this.
Additional fields "start_offset" and "tos_str" added to instruction.

Elliot Tarbet (2elli) largely provided support for Python 3.11 and 3.12 bytecode
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.19 2023/01/16 09:26:23 adam Exp $
d44 6
a70 3
${PYSITELIB}/xdis/graal/__init__.py
${PYSITELIB}/xdis/graal/__init__.pyc
${PYSITELIB}/xdis/graal/__init__.pyo
d74 3
@


1.19
log
@py-xdis: updated to 6.0.5

6.0.5 2022-12-22
=================
* Detect versions pypy3.8.15, pypy-3.9.15
* Dectect Python 3.{7,8,9}.14 3.10.{5,6,7}
* correct 3.10+ pydisasm -F xasm label
* Revise marshal error handling
* Improve PyPy 3.7 `CALL_FUNCTION` arg interpretation
* Fix 1.5-2.x bugs in line number encoding
* Fix showing `MAKE_FUNCTION` operand
* Miscellaneous lint, black, and isort changes
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.18 2022/05/22 19:05:00 adam Exp $
d3 7
a9 7
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
${PYSITELIB}/${EGG_INFODIR}/zip-safe
d25 1
d44 3
d53 3
d65 3
a79 3
${PYSITELIB}/xdis/marsh-try.py
${PYSITELIB}/xdis/marsh-try.pyc
${PYSITELIB}/xdis/marsh-try.pyo
d92 9
d122 3
d167 12
@


1.18
log
@py-xdis: updated to 6.0.4

6.0.4 2022-05-19 HF+LB-1
========================
* Detect 3.7.[7-13], 3.9.[8-13], 3.10.[1-4], PyPy 2.7.12, 3.[8-9]pypy
* Correct line-number detection on Python 1.0-1.4
* Handle SET_LINENO in older pythons
* Warn about wrong names in after RESERVE_FAST in older Pythons
* Some PyPy x-3.9.7 tolerance
* Add Pypy 3.8 support
* Better PyPy 3.6 formatting
* Correct relative jump target calculation in 3.10
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.17 2021/10/31 08:40:03 adam Exp $
d70 3
@


1.17
log
@py-xdis: updated to 6.0.2

6.0.2 2021-10-29
=================

* Remove str2float, sysinfo2float and magic_int2float. With Python 3.10 this is no
  longer tenable
* Reduce PYTHON_VERSION usage in xdis.
* Allow optional delimeter and start length in `version_tuple_to_str()`
* fix logic bug in setting MAGIC
* Add a little Python 3.8.5 Graal (Java VM) knowledge

6.0.1 2021-10-22
=================

* Add PyPy 3.8 opcodes and disassembly
* Accept Python 3.8.12
* Fix some small lingering bugs introduced converting Python version number floats to tuples

6.0.0 2021-10-15
=================

Reworked for Python 3.10.

We had been internally using floating point numbers for version testing.
Clearl this doesn't work to distinguish 3.1 from 3.10.
(This was a flaw known about for a while and we'd been avoiding).

* Add 3.10 opcodes.
* Add 3.9 and 3.10 testing.
* Some tolerance for running from 3.11
* Update magic numbers
* Expanding testing to include pyston and PyPy 3.7
* Improve distribution packaging, e.g. Python 3 wheels should no longer be attmpted on Python 2.x
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.16 2021/04/22 16:07:43 adam Exp $
d13 3
d88 3
d187 3
@


1.16
log
@py-xdis: updated to 5.0.9

5.0.9:
Improve 3.9 IS_OP and CONTAINS_OP operand formatting
Correct disassembly of 3.9 bytecode from other bytecode
Accept 3.9.3 and 3.9.4 as a valid 3.9 version
Accept 3.8.9 as a valid 3.8 version
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.15 2021/03/14 08:25:02 adam Exp $
d136 3
d175 3
@


1.15
log
@py-xdis: updated to 5.0.8

5.0.8:

Allow an alternate opmap - adds the capability to disassemble python bytecode that has
been frozen with a custom opcode mapping. This is particularly useful for disassembling
malware that uses custom opcode mappings in an attempt to hinder disassembly with standard
tools. The updates in this pull request are used by pydecipher, a tool to unfreeze and deob fuscate frozen python code.

Add Python versions 3.8.8 and 3.9.2
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.14 2020/09/10 09:25:02 adam Exp $
d7 1
@


1.14
log
@py-xdis: updated to 5.0.4

5.0.4:
Add python versions 3.6.12, 3.7.9
extended arg disassembly handling for {LOAD,STORE}_ATTR

5.0.3:
Add versions 3.8.5, 3.7.8, and 3.6.11
Clarify changes to 3.8 ROT_FOUR
Update 3.9 magics and opcodes

5.0.2:
Add Python 3.8.4 as a 3.8 release
pydisasm.py Python 3.3 tolerance
Make pydoc's version reporting show xdis's version

5.0.1:
Two small improvements that are usefil in the forthcoming trepan3k release:

interpret RAISE_VARARGS's argc parameter. Some other formatting was extended too
check_object_path() is more leanient in the path name (it doesn't have to end in .py anymore), but it is
more stringent about what constitutes Python source (it compiles the text to determine validity)
In the above is_python_source() and is_bytecode_extension() are used. They are also exported.

5.0.0:
Disassembly format and options have simplified and improved.
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.13 2020/06/20 16:21:38 adam Exp $
d165 3
@


1.13
log
@py-xdis: updated to 4.7.0

4.7.0:
Routines for extracting line and offset information from code objects was added.
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.12 2020/04/28 11:01:17 adam Exp $
d45 3
a65 3
${PYSITELIB}/xdis/main.py
${PYSITELIB}/xdis/main.pyc
${PYSITELIB}/xdis/main.pyo
@


1.12
log
@py-xdis: updated to 4.5.1

4.5.1:
Stack-effect redux

Fix bug in marshal for 3.8+ (include posonlyargcount)
Go over stack effects from 2.5 to 3.4 using and idea from Maynard
Expand stack-effect testing
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.11 2020/04/16 18:32:32 adam Exp $
d54 3
@


1.11
log
@py-xdis: updated to 4.3.1

4.3.1:
A portable version of types.CodeType was rewritten, to make it
easier to use
and catch more errors
more complete in tracking Python types.CodeType changes
simpler in implementation by using type inheretence
more general
Previously getting bytecode read from a bytecode file or from a code
object requiring knowing a lot about the Python version of the code
type and of the currently running interpreter. That is gone now.

Use codeType2Portable() to turn a native types.CodeType or a structure read
in from a bytecode file into a portable code type. The portable code
type allows fields to be mutated, and is more flexible in the kinds of
datatypes it allows.

For example lists of thing like co_consts, or varnames can be
Python lists as well as tuples. The line number table is stored as a
dictionary mapping of address to bytecode offset rather than as a
compressed structure. Bytecode can either be a string (which is
advantageous if you are running Python before 3.x) or a sequence of
bytes which is the datatype of a code object for 3.x.

However when you need a type.CodeType that can be can be
eval()'d by the Python interpreter you are running, use the
to_native() method on the portable code type returned. It will
compress and encode the line number table, and turn lists into tuples
and convert other datatypes to the right type as needed.

If you have a complete types.Codetype structure for a particular
Python version whether, it is the one the current Python interpreter
is using or not, use the to_portable() function and it will figure
out based on the version parameter supplied (or use the current Python
interpreter version if none supplieed), which particlar portable code
type is the right one.

If on the other hand, you have a number of code-type fields which may
be incomplete, but still want to work with something that has
code-type characteristics while not worring about which fields are
required an their exact proper datatypes, use the CodeTypeUnion structure.

Internally, we use OO inheritence to reduce the amount of duplicate
code. The load_code_internal() function from unmarshal.py is now a
lot shorter and cleaner as a result of this reorganization.

New Portable Code Methods, Modules and Classes

Python 3.8-ish replace() method has been added to the portable code types
Portable code type classes Code13, Code15 have been added to more precisely distinguish Python 1.3 and 1.5 code types. The other portable code classes are Code2, Code3, and Code38.
the to_native() conversts a portable code type into a native code type
the decode_lineno_tab() method on portable code types from Python 1.5 on decompresses the Python encode line number table into a dictionary mapping offset to line number.

Incompatibility

The module xdis.code has been remamed to xdis.codetype and with
that the function iscode() moved as well. In previous versions to
use iscode() you might import it from xdis.code; now simply import
it from xdis. In general function that had been imported from a
module under xdis can now be imported simply from xdis.

The classes Compat3Code and function code2compat() and
code3compat() have been removed. Compat2Code is still around for
dropbox 2.5, but that is deprecated and will be removed when I can
figure out how to remove it from dropbox 2.5.

Other Changes

CI testing for older testing has been fixed now that 2.7 is even more deprecated.

Note Deleted release 4.3.0 had a bug in handling some 3.8 bytecode.
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.10 2019/12/11 13:18:25 adam Exp $
d42 3
d51 3
a74 3
${PYSITELIB}/xdis/opcodes/check-stackeffect.py
${PYSITELIB}/xdis/opcodes/check-stackeffect.pyc
${PYSITELIB}/xdis/opcodes/check-stackeffect.pyo
@


1.10
log
@py-xdis: updated to 4.2.0

4.2.0:
Add preliminary 3.9(dev) support
Handle 3.8-3.9 bytecode from 3.7ish
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.9 2019/11/20 09:29:21 adam Exp $
d21 21
a41 3
${PYSITELIB}/xdis/code.py
${PYSITELIB}/xdis/code.pyc
${PYSITELIB}/xdis/code.pyo
d183 3
@


1.9
log
@py-xdis: updated to 4.1.3

4.1.3:
Add magics for 3.5.8 and 3.5.9
Python 3.0 tolerance
Fix for unmarshaling Python 3.8 str from 3.2
Pypy 3.3, 3.5 3.6 and 3.6.9 magic numbers and support
improve distribution wheels, and eggs
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.8 2019/10/15 16:59:35 adam Exp $
d144 3
@


1.8
log
@py-xdis: updated to 4.1.0

4.1.0:
Add early bytecodes: 1.0, 1.1, 1.2, and 1.6. Going off of pycdc bytecode since this is the only bytecode for these versions I know of
Fix bug in Python 3.x decompiling 2.x that contains strings with non-ascii characters
More generally, better handling of non-ascii Python 2 strings in both input and output in Python 3
pypy 3.6-7.1.0 tolerance
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.7 2019/08/03 08:55:10 adam Exp $
d120 3
@


1.7
log
@py-xdis: updated to 4.0.3

4.0.3:
Support 3.8.0beta2; Code38 type with posonlyargcount field
Add Python versions 3.4.10, 3.7.4 and 3.6.9
script no longer works to install pydisasm; entry_points still works
Add pypy 3.6 opcode formatting for MAKE_FUNCTION and EXTENDED_ARG
Add format_CALL_function and use it or pypy36
Start using "blacken" to reformat Python files
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.6 2019/06/13 07:52:45 adam Exp $
d54 6
d69 3
@


1.6
log
@py-xdis: updated to 4.0.2

4.0.2:
To unicode strings in Python 2.x Try to convert to ascii, but if that doesn't work, leave as unicode.
BUILD_TUPLE_UNPACK_WITH_CALL is a vararg
@
text
@d1 2
a2 2
@@comment $NetBSD: PLIST,v 1.5 2019/05/02 08:32:15 adam Exp $
bin/pydisasm-${PYVERSSUFFIX}.py
d6 1
d12 6
@


1.5
log
@py-xdis: updated to 4.0.1

release-4.0.1
Add magics.IS_PYPY3 and correct is_pypy()
disassemble PyPY3 versions correctly
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.4 2019/04/17 12:16:05 adam Exp $
d44 3
@


1.4
log
@py-xdis: updated to 4.0.0

release-4.0.0
Expand is_jump_target to True, 'loop', False. This is the reason for the version bump
Remove deprecated opcodes_pypyDD.py files. Use opcode_DDpypy instead.
Fix bug in setting jump offset in wordcode (3.6+) relative jumps.
Note that this works now in Python 3.8 (dev)
Add 3.6{,.1}pypy version
Dry opcodes 3.6 - 3.8
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.3 2019/03/10 13:52:36 adam Exp $
a43 3
${PYSITELIB}/xdis/opcodes/check-stackeffect.py
${PYSITELIB}/xdis/opcodes/check-stackeffect.pyc
${PYSITELIB}/xdis/opcodes/check-stackeffect.pyo
@


1.3
log
@py-xdis: updated to 3.8.10

3.8.10:
- 3.8 opcode support
- Add Python 2.7.16
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.2 2019/01/04 22:13:11 adam Exp $
d116 3
a127 12
${PYSITELIB}/xdis/opcodes/opcode_pypy26.py
${PYSITELIB}/xdis/opcodes/opcode_pypy26.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy26.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy27.py
${PYSITELIB}/xdis/opcodes/opcode_pypy27.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy27.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy32.py
${PYSITELIB}/xdis/opcodes/opcode_pypy32.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy32.pyo
${PYSITELIB}/xdis/opcodes/opcode_pypy35.py
${PYSITELIB}/xdis/opcodes/opcode_pypy35.pyc
${PYSITELIB}/xdis/opcodes/opcode_pypy35.pyo
@


1.2
log
@py-xdis: updated to 3.8.9

3.8.9:
- Add magic for 3.6.8, 3.7.2
- Dropbox-hacked bytecode fixes, and some typos
- Go over stack effects for vararg ops
- Fix CI for pypy
- Work around wheel munging
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.1 2018/09/20 13:45:11 adam Exp $
d44 3
d119 3
@


1.1
log
@py-xdis: added version 3.8.7

The Python dis module allows you to disassemble bytecode from the same version
of Python that you are running on. But what about bytecode from different
versions?

That's what this package is for. It can "marshal load" Python bytecodes from
different versions of Python. The command-line routine pydisasm will show
disassembly output using Python 3.6 disassembly conventions.

Also, if you need to modfiy and write bytecode, the routines here can be of
help. There are routines to pack and unpack the read-only tuples in Python's
Code type. For interoperability between Python 2 and 3 we provide our own
versions of the Code type, and we provide routines to reduce the tedium in
writing a bytecode file.

This package also has an extensive knowledge of Python bytecode magic numbers,
including Pypy and others, and how to translate from sys.sys_info major, minor,
and release numbers to the corresponding magic value.

So If you want to write a cross-version assembler, or a bytecode-level
optimizer this package may also be useful. In addition to the kinds of
instruction categorization that dis offers, we have additional categories for
things that would be useful in such a bytecode optimizer.
@
text
@d1 2
a2 2
@@comment $NetBSD$
bin/pydisasm-${PYVERSSUFFIX}
a43 3
${PYSITELIB}/xdis/opcodes/check-stackeffect.py
${PYSITELIB}/xdis/opcodes/check-stackeffect.pyc
${PYSITELIB}/xdis/opcodes/check-stackeffect.pyo
@

