capstone/bindings/python
Rot127 a07baf83dd
Auto-Sync update Sparc LLVM-18 (#2704)
* Add Sparc inc fils, delete old files and update AS with Sparc config.

* AS: Refuse to run differ if an old file is missing.

* AS: Refer to the RefactorGuide.md

* Add first translated Sparc files.

* Fixup SparcMCTargetDesc.h

* Fixup SparcDisassembler.h

* Fixup instruction printer.

* Fixup SparcInstPrinter

* Basic functions of Capstone module

* Fix SP sparc namespace prefix.

* Fix build script and linking

* Fix disassembler not actually reading bytes.

* Match \!encoding in llvm-mc output (Sparc has this).

* Add Sparc LE and and make v9 a feature to enable.

* Update test files for Sparc

* Fix tests.

* Add assembly tests

* AS: Add settings to use assembly tests.

* Test fixes

* Fix typos

* Add reg and imm details.

* Add mem details and instruction formats.

* Handle condition codes.

* Formatting

* Add hints.

* Add membar and asi tags

* Update Python bindings

* Add asi and membar to cstest

* Restructure test file

* Capstone fix for llvm-project/#139284.

* Fix branch detail tests

* Handle faulty mem operand defintions.

* Add membar and asi tests

* Add one more branch instruction test.

* Add missing call alias

* Fix tests.

Updated after fixing branch disponents.
Issues with the generated assembly tests. The assembly tests don't check the feature flags enabled. And hence V9 tests are added to the none V9 test file.

* Fix alias lookup with , in the asm_text

* Fix common detail tests.

* Fix issue.yaml

* Add Sparc changelog

* Add changelog for Sparc to v6 guide

* Fix incorrect translated array size check.

* Reading the ISA and thinking would help...
This is not how alignment is calculated -.-

* Fix call targets

* Remove 'real' BA instruction (which is only an alias).

* Add missing property getters.

* Add missing format details

* Set correct detail struct

* Support access detail testing for Sparc.

* Add hard-coded special registers tbr, wim, psr

* Add alias tests for call and ba.

* Fix copy paste mistake.

* Add note about big/little endian into guide.

* Add implied flag for SparcV9

* Format

* Store CC field consistently in an extra field.

The CC field used was sometimes stored as register,
sometimes as not at all.
Now it is consistently stored in a separated field.

* Add an invalid ASI tag.

* Fix LDSTUB/A memory access and incorrect operand details.

* Handle condition codes more elegantly.

Also fixes bugs with wrong cc fields, or missing fields.

* Add separation ; character for assembly tests.

* Apply fix from llvm-project/#143232

* Use enum types for memory operands

* Update Pythyon constants
2025-06-24 12:45:34 +00:00
..
capstone Auto-Sync update Sparc LLVM-18 (#2704) 2025-06-24 12:45:34 +00:00
cstest_py Auto-Sync update Sparc LLVM-18 (#2704) 2025-06-24 12:45:34 +00:00
prebuilt Add ability to copy prebuilt libraries from prebuilt directory during python build 2017-03-04 17:09:07 -08:00
tests Rebased #2570 (#2614) 2025-01-28 22:34:24 +08:00
.gitignore Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
BUILDING.md Clean up the cstest documentation and build instructions. (#2580) 2024-12-15 14:07:47 +08:00
LICENSE.TXT python: add LICENSE & PKG-INFO for Python module 2015-01-30 14:45:58 +08:00
MANIFEST.in Python package building rework (#2538) 2024-11-18 19:10:27 +08:00
pyproject.toml Python package building rework (#2538) 2024-11-18 19:10:27 +08:00
README.txt Python package building rework (#2538) 2024-11-18 19:10:27 +08:00
setup.py - Added missing files for sdist archive (#2624) 2025-03-01 22:35:59 +08:00

To install Capstone, you should run `pip install capstone`.

If you would like to build and install Capstone with just the source distribution,
just run `python -m pip install .`, considering you are in the folder with setup.py in it.

In order to use this source distribution, you will need an environment that can
compile C code. On Linux, this is usually easy, but on Windows, this involves
installing Visual Studio and using the "Developer Command Prompt" to perform the
installation. See BUILDING.md for more information.

By default, attempting to install the python bindings will trigger a build of
the capstone native core. If this is undesirable for whatever reason, for
instance, you already have a globally installed copy of libcapstone, you may
inhibit the build by setting the environment variable LIBCAPSTONE_PATH. The
exact value is not checked, just setting it will inhibit the build. During
execution, this variable may be set to the path of a directory containing a
specific version of libcapstone you would like to use.

If you don't want to build your own copy of Capstone, you can use a precompiled
binary distribution from PyPI. Saying `pip install capstone` should
automatically obtain an appropriate copy for your system. If it does not, please
open an issue at https://github.com/capstone-engine/capstone.

--------------------------------------------------------------------------------

Capstone is a disassembly framework with the target of becoming the ultimate
disasm engine for binary analysis and reversing in the security community.

Created by Nguyen Anh Quynh, then developed and maintained by a small community,
Capstone offers some unparalleled features:

- Support multiple hardware architectures: ARM, AARCH64 (ARMv8), Mips, PPC, Sparc,
  SystemZ, XCore and X86 (including X86_64).

- Having clean/simple/lightweight/intuitive architecture-neutral API.

- Provide details on disassembled instruction (called “decomposer” by others).

- Provide semantics of the disassembled instruction, such as list of implicit
  registers read & written.

- Implemented in pure C language, with lightweight wrappers for C++, C#, Go,
  Java, NodeJS, Ocaml, Python, Ruby & Vala ready (available in main code,
  or provided externally by the community).

- Native support for all popular platforms: Windows, Mac OSX, iOS, Android,
  Linux, *BSD, Solaris, etc.

- Thread-safe by design.

- Special support for embedding into firmware or OS kernel.

- High performance & suitable for malware analysis (capable of handling various
  X86 malware tricks).

- Distributed under the open source BSD license.

Further information is available at http://www.capstone-engine.org


[License]

This project is released under the BSD license. If you redistribute the binary
or source code of Capstone, please attach file LICENSE.TXT with your products.