Commit Graph

1239 Commits

Author SHA1 Message Date
Adrian Herrera
47f9a0cdac Added cabal clean, configure and build commands to the bindings Makefile
This ensures that c2hs is called when const_generator.py generates code for the
other language bindings
2016-04-06 09:51:45 +10:00
Adrian Herrera
74aaf3b321 Haskell bindings
These Haskell bindings make large use of c2hs to generate much of the code, so
Unicorn's const_generator is not used.

The emulator is based on the Either monad transformer. The IO monad is used to
run the underlying Unicorn library, while the Either monad is used to handle
errors.

Instructions on how to build the bindings are located in
bindings/haskell/README.TXT. The same samples found in samples/ can be found
in bindings/haskell/samples. They should produce the same output, with slight
differences in their error handling and messaging.
2016-04-06 09:21:36 +10:00
Zach Riggle
67ae30a2fb Add test showing failure to track targets properly when single-stepping.
This issue breaks emulation of conditional instructions on amd64.
2016-04-05 10:06:39 -07:00
Nguyen Anh Quynh
b138393a2b regress: chmod +x translator_buffer.py 2016-04-05 21:40:02 +08:00
Nguyen Anh Quynh
6ee7d22c68 Merge pull request #510 from emdel/master
test case for the dynmaic translator buffer issue
2016-04-05 20:37:52 +07:00
emdel
1120a22b4d test case for the dynmaic translator buffer issue 2016-04-05 06:11:21 -07:00
Ryan Hileman
159f9310aa add sample_batch_reg 2016-04-04 20:59:42 -07:00
Ryan Hileman
acd88856e1 add batched reg access 2016-04-04 20:51:38 -07:00
Nguyen Anh Quynh
8ee696f81d Update README.md
Change Gitter link
2016-04-05 10:09:31 +08:00
Nguyen Anh Quynh
2018c4b5d6 Merge pull request #507 from gitter-badger/gitter-badge
Add a Gitter chat badge to README.md
2016-04-05 09:02:04 +07:00
The Gitter Badger
6e6ef66b76 Add Gitter badge 2016-04-04 16:50:11 +00:00
Ryan Hileman
66619fc6cd remove call to restore_eflags (#496) 2016-04-03 23:08:17 -07:00
Nguyen Anh Quynh
1486ccce70 regress: fix all the calls to uc_hook_add() following recent change on this API 2016-04-03 23:32:14 +08:00
Nguyen Anh Quynh
bb1236a850 Merge pull request #503 from adrianherrera/add_stdint_x86_header
Added stdint include to x86.h
2016-04-03 20:04:38 +07:00
Adrian Herrera
fd825fb800 Added stdint include to x86.h
x86.h referenced types defined in stdint.h (e.g. uint16_t, etc.), but didn't
actually include stdint.h
2016-04-01 23:38:32 +11:00
Nguyen Anh Quynh
ba2023e9bb Merge branch 'make-prefix' of https://github.com/lunixbochs/unicorn into lunixbochs-make-prefix 2016-03-31 13:31:24 +08:00
Ryan Hileman
99e136befc allow setting PREFIX in make.sh 2016-03-30 20:04:49 -07:00
Nguyen Anh Quynh
4e07e71e04 regress: chmod +x x86_64_eflags.py 2016-03-31 10:06:33 +08:00
Nguyen Anh Quynh
878590d3d7 Merge pull request #501 from zachriggle/issue_499
Add test case for unicorn-engine/unicorn#499
2016-03-31 09:04:59 +07:00
Zach Riggle
8cd23bcead Add test case for unicorn-engine/unicorn#499 2016-03-30 21:25:35 -04:00
Nguyen Anh Quynh
e79345bfb5 Merge branch 'python-code-cleanup' of https://github.com/jbremer/unicorn into jbremer-python-code-cleanup 2016-03-30 09:55:42 +08:00
Jurriaan Bremer
76786850c4 code cleanup of python bindings
Addresses a couple of pep8 related changes improving the code quality.
2016-03-29 16:20:40 +02:00
Nguyen Anh Quynh
b0ed72e846 Merge pull request #495 from cseagle/seg_regs
pack SegmentDescriptor to eliminate any alignment ambiguity
2016-03-29 09:57:03 +07:00
Chris Eagle
3ca072e0de pack SegmentDescriptor to eliminate any alignment ambiguity 2016-03-28 09:29:55 -07:00
Nguyen Anh Quynh
56d70845da Merge pull request #494 from sashs/master
Bugfixes and new samples for ruby bindings
2016-03-28 08:13:32 +07:00
Sascha Schirra
a6be3ad68e Merge remote-tracking branch 'upstream/master' 2016-03-27 22:05:40 +02:00
Sascha Schirra
5d4fb062d4 set gdt example added 2016-03-27 22:04:33 +02:00
Sascha Schirra
cf1c7ee7ca sample for sparc added 2016-03-27 21:44:09 +02:00
Sascha Schirra
30d26366f6 sample for mips added 2016-03-27 21:38:46 +02:00
Sascha Schirra
6c54b8e283 sample for m68k added 2016-03-27 21:31:34 +02:00
Sascha Schirra
40c8f0540c sample for arm64 added 2016-03-27 21:15:45 +02:00
Sascha Schirra
4a10a9f9e4 sample for arm added 2016-03-27 21:00:33 +02:00
Sascha Schirra
813db7aff9 *.gem added 2016-03-27 20:59:56 +02:00
Sascha Schirra
ae979259bd gem removed 2016-03-27 20:58:38 +02:00
Sascha Schirra
97c39a3a83 Bugfix: remove hook_add call if no insn type is given 2016-03-27 20:58:05 +02:00
Sascha Schirra
ae9e21f9b8 license parameter changed 2016-03-27 18:26:43 +02:00
Nguyen Anh Quynh
1adf05a015 Merge pull request #493 from sashs/master
bugfix read_reg -> reg_read
2016-03-27 16:35:44 +07:00
Sascha Schirra
09784d85c1 bugfix read_reg -> reg_read 2016-03-27 11:26:57 +02:00
Nguyen Anh Quynh
e44f8f2981 samples: code style for sample_x86_32_gdt_and_seg_regs.c 2016-03-27 10:25:46 +08:00
Nguyen Anh Quynh
cf793122be Merge pull request #478 from cseagle/seg_regs
fix x86 segment setup by updating cached segment registers on reg_write
2016-03-27 08:48:29 +07:00
Nguyen Anh Quynh
5a2ca8e72e Merge pull request #491 from lunixbochs/hook-fix
hook management fixes
2016-03-27 08:46:53 +07:00
Ryan Hileman
784efc8be0 fix memory corruption in list_remove 2016-03-25 20:28:23 -07:00
Ryan Hileman
d5e85cf3f9 more efficient hook removal 2016-03-25 20:25:18 -07:00
Chris Eagle
3add48feb5 Merge branch 'master' into smaller_nothreads 2016-03-25 19:47:52 -07:00
Chris Eagle
6991d69dad merge from upstream 2016-03-25 19:46:44 -07:00
Nguyen Anh Quynh
8c58da4416 Merge pull request #489 from lunixbochs/dynamic-tcg-buf
static -> dynamic code buffer, and shrink 32M->8M
2016-03-26 09:14:28 +07:00
Ryan Hileman
977863401e static -> dynamic code buffer, and shrink 32M->8M 2016-03-25 18:28:03 -07:00
Chris Eagle
9467254fc0 strip out per cpu thread code 2016-03-25 17:24:28 -07:00
Chris Eagle
a7d89a8c63 merge from lunixbochs 2016-03-25 14:15:11 -07:00
Nguyen Anh Quynh
90cefeb167 regress: adapt all C code to latest change in uc_hook_add() API 2016-03-26 00:33:24 +08:00