Commit graph

498 commits

Author SHA1 Message Date
Nguyen Anh Quynh
64328e3f56 x86: add UD0 instruction 2017-05-07 11:17:23 +08:00
Fotis Loukos
fea5f12c14 Fixed python bindings. 2017-04-14 18:57:40 +03:00
Fotis Loukos
0a159f1865 TMS320C64x support at tests and const generator. 2017-04-14 17:03:28 +03:00
Fotis Loukos
0850d55211 Added support for the TMS320C64x architecture. 2017-04-14 17:00:40 +03:00
Andrew Dutcher
9f78ef2f70 Add ability to copy prebuilt libraries from prebuilt directory during python build 2017-03-05 06:08:36 +08:00
Nguyen Anh Quynh
9edf92cccd Python: Automatically conform to PEP440 for version numbers. ported from Unicorn Python binding 2017-02-01 13:23:15 +08:00
BartmanAbyss
35c96234cf (M68k) make displacements signed (#836)
* (M68k) make displacements signed

* (M68k) revert group changes

* (m68k) signed displacement in python bindings
2017-01-01 01:11:48 +08:00
Nguyen Anh Quynh
003f50ee2d python: version 4.0.0 2016-11-04 23:55:20 +08:00
Nguyen Anh Quynh
29816d5eee Merge branch 'feat/better_python_setup_next' of https://github.com/angr/capstone into angr-feat/better_python_setup_next 2016-11-04 23:25:27 +08:00
Andrew Dutcher
43585e5ef0 On this branch, dylib and so files are versioned 2016-10-31 10:54:58 -07:00
Nguyen Anh Quynh
b4b97a0b59 python: cleanup 2016-10-30 16:19:10 +08:00
Andrew Dutcher
106d241cba Python setup: Clean up some merge failures, adapt for changes on next branch 2016-10-26 23:15:42 -07:00
Andrew Dutcher
d0afd01e88 Python: Actually attempt to load .so.3 extension on linux 2016-10-25 21:49:59 -07:00
Andrew Dutcher
b7e4c48e83 Python: Spelling/capitalization/contact fixes in readme 2016-10-25 21:49:58 -07:00
Andrew Dutcher
77888ab8ee Minor english fixes 2016-10-25 21:49:58 -07:00
Andrew Dutcher
8c132fb0e2 Python: remove special case for cygwin build 2016-10-25 21:49:58 -07:00
Andrew Dutcher
f4aed6025f Python: Make cython work with extreme prejudice 2016-10-25 21:49:58 -07:00
Andrew Dutcher
82928447e7 Python: Clean up the capstone-windows stuff with extreme prejudice 2016-10-25 21:48:41 -07:00
Andrew Dutcher
d8111c1dc9 Python: make setup work as expected 2016-10-25 21:48:18 -07:00
Nguyen Anh Quynh
efd8b14471 bindings: regenerate consts 2016-10-25 14:30:13 +08:00
Nguyen Anh Quynh
10618e3e6a add CS_VERSION_{MAJOR, MINOR, EXTRA} 2016-10-25 14:29:21 +08:00
Fish
ce6b47765c Change pointer-deref-then-assignment to memmove to make PyPy happy. 2016-10-13 19:56:41 -07:00
Richo Healey
bbf6a1eebd Workaround unicorn handing back bytearrays 2016-10-06 14:40:37 +08:00
Benno Fünfstück
e199eb9cfe python-bindings: fix setup.py for wheel installation
When the python bindings are installed using the new wheels
infrastructure, data_files are relative to the site-packages directory
even if using absolute paths.

The following example demonstrates the bug fixed by this commit: (ran on archlinux)

```bash
$ pip install wheel       # if this package is installed, wheel installation is made the default
Collecting wheel
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
    100% |################################| 71kB 124kB/s
Installing collected packages: wheel
Successfully installed wheel-0.29.0

$ pip install capstone    # this will use the wheel installation method now
Collecting capstone
  Using cached capstone-3.0.4.tar.gz
Building wheels for collected packages: capstone
  Running setup.py bdist_wheel for capstone ... done
  Stored in directory: /root/.cache/pip/wheels/7c/d1/d0/db6e2c5ef1063aabb9de2dd8b92b4c27ee6f9fd213240099b8
Successfully built capstone
Installing collected packages: capstone
Successfully installed capstone-3.0.4

$ find /usr/lib/ -name "libcapstone.so"
/usr/lib/python3.5/site-packages/usr/lib/python3.5/site-packages/capstone/libcapstone.so
```

So the path `SITE_PACKAGES` in the `data_files` specification of the
setup.py file was interpreted relative to the python site-packages
directory. The fix for this is simple: use `/capstone` instead of an
absolute path for `SITE_PACKAGES`.
2016-10-03 10:50:08 +08:00
Nguyen Anh Quynh
bd8e5ba370 python: cast skipdata function inside binding to simplify the API 2016-10-02 01:35:28 +08:00
Nguyen Anh Quynh
d41c06c628 python: fix CS_SKIPDATA_CALLBACK prototype 2016-10-01 01:31:24 +08:00
Nguyen Anh Quynh
ddc84bc1aa Merge pull request #764 from akihikodaki/next
arm: treat ARM address as unsigned
2016-09-07 09:51:04 +08:00
Akihiko Odaki
958ba656e9 arm: treat ARM address as unsigned
It should be unsigned because:
* It does arithmetic operations
* Format strings have "%u" instead of "%d"

# Conflicts:
#	arch/ARM/ARMInstPrinter.c
#	bindings/python/test_arm.py
#	tests/test_arm.c
2016-09-04 00:13:50 +09:00
mrexodia
f38cc69aac
changed fcompi to fcomip and fucompi to fucomip 2016-08-30 23:10:04 +02:00
Nguyen Anh Quynh
e147e3a051 arm64: add NEGS & NGCS alias instructions. this fixes issue #752 2016-08-23 14:01:17 +08:00
Nguyen Anh Quynh
bf2690afca Merge pull request #696 from emoon/m68k-reg-read-write
[M68K] Implemented regs read/write lists
2016-08-11 11:22:48 +08:00
Daniel Collin
aaf2c49015 [M68K] Implemented regs read/write lists 2016-08-09 17:29:36 +02:00
Nguyen Anh Quynh
dabc9f2990 x86: properly handle SSE/AVX instructions 2016-07-15 20:37:19 +08:00
lucasg
edc72e6a7b Replace copy.deepcopy by copy_ctypes_list for get_arch_info
This replacement was done for commit
1647720656, allowing the python binding to
be used in PyPy. It seems the m68k arch has been forgotten.
2016-07-09 14:38:01 +02:00
Pranith Kumar
94f8aef1da Fix error return code 2016-06-29 11:08:13 -04:00
Andrew Dutcher
83af3b9ec0 Re-apply changes from 1647720656 on next branch, that's the commit that lets the python bindings run in pypy 2016-06-16 15:47:43 -07:00
Niels Boehm
7d4c660959 Fix typo in m68k constant for immediate operand. 2016-06-15 08:25:59 +02:00
Niels Boehm
0e407ea48f Add m68k to the general Python tests. 2016-06-14 13:35:02 +02:00
Niels Boehm
8fba330a6e Add missing architectures to test_lite.py.
The code constants and the all_tests tuple is now analogous to
test_basic.py.
2016-06-14 13:28:14 +02:00
Niels Boehm
32b6346c2c Use and test syntax against None in all_tests.
Comparing against 0 or just testing the truthiness is suboptimal, as you
lose the ability to explicitly set the syntax to CS_OPT_SYNTAX_DEFAULT
or 0.

Also, using None to mean "don't change" or other "here is no value"
interpretations is much more pythonic than the C-idiomatic 0.
2016-06-13 12:25:24 +02:00
Nguyen Anh Quynh
84c14d177b fix merging conflict 2016-05-22 08:58:33 +08:00
Nguyen Anh Quynh
1521ba3fa3 Merge pull request #682 from ibabushkin/next
Reduced confusion caused by the m68k test being out of date
2016-05-14 18:19:36 +08:00
Nguyen Anh Quynh
2f3241d376 Merge pull request #669 from zachriggle/next-mips
Add MIPS_GRP_INT and MIPS_GRP_CALL
2016-05-14 09:36:49 +08:00
Inokentiy Babushkin
53b8174c6a Further refinements to the tests + python test fix for M68K 2016-05-13 18:39:32 +02:00
Inokentiy Babushkin
f926e8019a Fixed ordering in files 2016-05-12 08:57:25 +02:00
Inokentiy Babushkin
7dc304f729 Fixed python bindings to align with struct changes 2016-05-12 08:50:05 +02:00
Zach Riggle
5cb3fe320e Add MIPS_GRP_XXX aliases for generic types. 2016-05-03 07:30:31 -07:00
Pranith Kumar
8375270e78 Handle python test failure properly 2016-04-30 13:12:16 -04:00
Nguyen Anh Quynh
7114a6258e binding: remove cx_x86_op::fp following the change in the core 2016-04-24 00:16:08 +08:00
Sean Heelan
0dc28bf7b2 __getattr__ should raise AttributeError, not return None, on failure
Fix for issue #624
2016-04-18 18:21:24 +08:00