Nguyen Anh Quynh
de7bf524f3
tests: fix mem_fuzz.c - FIXME
2017-07-23 16:33:57 +08:00
Nguyen Anh Quynh
281177aa9d
regress: an attempt to fix build error on mem_fuzz.c
2017-07-22 23:40:59 +08:00
Stephen
da21bd0589
Start moving examples in S files ( #851 )
...
* Move assembly to S files
* more assembly files
* osx compilation change
* makefile mistake
* add objcopy from crosstool
* use gobjcopy on osx
* start cmocka install cleanup
* move wget to directory option
* move back to cd
* fix copy
* First cut
* free allocated memory
* bad idea
too much switching between python and c
* add debug
* cleanup bad size
2017-06-25 10:14:22 +08:00
Stephen
7f116846c0
MSYS test ( #852 )
...
* MSYS test
using new cmocka msys package
* Update .appveyor.yml
* temp package install
before real ones get uploaded to db
* Update .appveyor.yml
* Update .appveyor.yml
* Update .appveyor.yml
* Update Makefile
* Update test_x86_shl_enter_leave.c
* Update Makefile
* Update threaded_emu_start.c
* Update .appveyor.yml
* remove unused install
2017-06-25 10:11:35 +08:00
Nguyen Anh Quynh
c01dcf0a14
fix merge conflicts
2017-03-10 21:04:33 +08:00
Nguyen Anh Quynh
70db329749
regress: ignore arm_enable_vfp
2017-02-26 10:50:18 +08:00
Nguyen Anh Quynh
a40e5aae09
regress: fix warning on compilation on eflags_noset.c. see #764
2017-02-25 11:20:26 +08:00
Nguyen Anh Quynh
b12ce92468
regress: eflags_noset.c should only asm x86 code on x86 platform. fix #764
2017-02-25 01:14:47 +08:00
Nguyen Anh Quynh
6ea39f7d5a
merge msvc with master
2017-02-24 10:39:36 +08:00
Parker Thompson
053ecd7bf4
Added ARM coproc registers ( #684 )
...
* Added ARM coproc registers
* Added regression test for vfp
2017-01-25 11:56:19 +08:00
xorstream
cbd0e6056c
Fixed some conflicts
2017-01-23 11:35:00 +11:00
xorstream
724c765028
Merging with current msvc 2
2017-01-23 01:07:50 +11:00
Nguyen Anh Quynh
206819bd98
cleanup after msvc port
2017-01-22 21:27:17 +08:00
Nguyen Anh Quynh
f9f184e719
test: fix missng pthread functions
2017-01-21 22:29:07 +08:00
Nguyen Anh Quynh
de9083a532
test: fix missng pthread functions
2017-01-21 22:22:09 +08:00
xorstream
770c5616e2
Automated leading tab to spaces conversion.
2017-01-21 12:28:22 +11:00
xorstream
837d3787c0
Fix for read()/write() conflict with unistd.h in test_mem_map.c.
2017-01-21 01:39:49 +11:00
xorstream
fac6a66860
platform.h move #3
2017-01-21 00:13:21 +11:00
xorstream
1aeaf5c40d
This code should now build the x86_x64-softmmu part 2.
2017-01-19 22:50:28 +11:00
Elton G
47150b6df3
reg_read and reg_write now work with registers W0 through W30 in Aarch64 ( #716 )
...
* reg_read and reg_write now work with registers W0 through W30 in Aarch64 emulaton
* Added a regress test for the ARM64 reg_read and reg_write on 32-bit registers (W0-W30)
Added a new macro in uc_priv.h (WRITE_DWORD_TO_QWORD), in order to write to the lower 32 bits of a 64 bit value without overwriting the whole value when using reg_write
* Fixed WRITE_DWORD macro
reg_write would zero out the high order bits when writing to 32 bit registers
e.g. uc.reg_write(UC_X86_REG_EAX, 0) would also set register RAX to zero
2017-01-15 20:13:35 +08:00
Nguyen Anh Quynh
55f0292aa9
Merge branch 'master' of https://github.com/unicorn-engine/unicorn
2017-01-13 20:13:31 +08:00
Nguyen Anh Quynh
353dc99af6
regress: fix arm_fp_vfp_disabled.py
2017-01-13 20:13:20 +08:00
hedger
d2b7d13443
Fixed circular refs preventing Uc instances from being GC'd. Added a test case, requires objgraph
module.
2017-01-11 18:23:21 +03:00
Nguyen Anh Quynh
bc569f5a54
rename API uc_mem_free() to uc_free(). see #662
2017-01-10 20:59:14 +08:00
Nguyen Anh Quynh
fdbbdc6216
rename uc_context_free() to uc_mem_free(). see #373
2017-01-09 20:52:14 +08:00
me
87e8532e67
regress: link on Linux with -lrt
2016-12-26 14:16:56 +08:00
Nguyen Anh Quynh
5f81c00559
Merge branch 'noglib' of https://github.com/cseagle/unicorn into cseagle-noglib
2016-12-19 17:32:27 +08:00
Chris Eagle
e46545f722
remove glib dependency by provide compatible replacements
2016-12-18 14:56:58 -08:00
Grazfather
795a241dd3
Add ARM bx crash regress test case
2016-11-26 12:51:01 -08:00
Stephen
75d90aff52
Make cleanup ( #666 )
...
* make cleanup
* Update .travis.yml
Update eflags_nosync.c
Update sigill2.c
Update ro_mem_test.c
Update ro_mem_test.c
Update nr_mem_test.c
Update mem_fuzz.c
Update mem_double_unmap.c
Update emu_stop_in_hook_overrun.c
Update eflags_nosync.c
remove unused
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update mem_64_c.c
Update mem_64_c.c
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update .travis.yml
try android ndk build
Update unicorn.py
Update unicorn.py
Update Makefile
Update unicorn.py
Update unicorn.py
remove an untrue comment
if a dll/so/dylib gets loaded at runtime is dependent on many different factors, primarily the LD/DYLD paths. Those do not always include the current working directory
Update Makefile
Update .appveyor.yml
Update .travis.yml
Update Makefile
Update .appveyor.yml
Fix bad sample
* Update Makefile
* Update Makefile
* Update install-cmocka-linux.sh
* remove verbose option from tar
* add upgrade to pacman for cmake
* pacman double update, needed to get new packages
* enable cmocka unit testing
* rejigger commands to fail on any step
should get fails in msys builds for cmocka
* fix quote
* make cmocka in cygwin only
* add msys cache
2016-11-19 17:17:48 +08:00
Peter Harliman Liem
7660768942
Fix leak and style in map_write.c ( #658 )
...
Fix potential leak, wrong text in log, and restyle
to a cleaner exit path
2016-10-25 23:47:55 +08:00
Stephen
bc08bfda67
Unit testing in CI ( #651 )
...
- in appveyor, install clang and cmake in cygwin, enable package upgrades, and build cmocka and enable testing for gcc only
- in `gitignore`, ignore generated cmocka folder
- in travis, use brew in osx to install cmocka, and enable testing for gcc and clang on os x and linux
- in `Makefile`, change to use `uname -s` to determine os type
- make `install-cmocka-linux.sh`, a simple shell script to download and install cmocka on linux
- in `bindings/Makefile`, enable `make -c` to call subdirectory makefiles instead of `cd [dir] && make` and include environment variables for runtime access to generated libraries
- in `samples/Makefile`, change to use `uname -s` to determine os type, remove `clean_bins` from `all` command, and include `Werror` for compile strictness
- in `tests/unit/Makefile`, add `cflags` for compile time access to cmocka headers and library, include execute vars for runtime access to cmocka and unicorn libs
- in `tests/unit/test_tb_x86.c`, comment out assert that would not compile
2016-10-22 00:21:10 +08:00
Andrew Dutcher
ea54204952
Tweak some names in a few places, encapsulate the uc_context struct to hide it from users for some reason
2016-10-10 14:04:51 -07:00
Andrew Dutcher
1ab2154fe5
Change save/restore API to have explicit alloc/free functions. Python has explicit save/update functions.
2016-10-07 11:39:42 -07:00
Nguyen Anh Quynh
73577cbcd1
rename uc_regstate_restore to uc_context_restore, uc_context_save to uc_context_save
2016-10-07 10:03:19 +08:00
Nguyen Anh Quynh
b7cdbe7a88
Merge branch 'feat/reg_save_restore' of https://github.com/rhelmot/unicorn into rhelmot-feat/reg_save_restore
2016-10-07 09:57:07 +08:00
Stephen
0137a66c61
Update test_hang.c
2016-10-05 10:29:16 -07:00
Stephen
f2998f14cd
Update test_hang.c
2016-10-05 09:20:36 -07:00
Andrew Dutcher
e3b0e52013
Rename save/restore functions to match the style of the rest of the API
2016-09-28 21:21:44 -07:00
Andrew Dutcher
3deb9fdcad
Fix save/restore to work while emulation is not active
2016-09-08 14:41:34 -07:00
Andrew Dutcher
f2af98942b
Added (failing?) test for reg save/restore
2016-08-31 20:25:28 -05:00
Andrew Dutcher
f8ac51bb3d
Document assembly instructions for x86_self_modifying
2016-08-30 14:40:26 -05:00
Nguyen Anh Quynh
10519d6864
regress: fix compilation warning in invalid_read_in_cpu_tb_exec.c
2016-08-30 21:23:50 +08:00
Nguyen Anh Quynh
69d976375e
Merge branch 'fix/self_modifying' of https://github.com/rhelmot/unicorn into rhelmot-fix/self_modifying
2016-08-30 21:20:22 +08:00
Nguyen Anh Quynh
49d546b355
regress: fix some warnings on printing sizeof()
2016-08-28 01:38:37 +08:00
Nguyen Anh Quynh
89c9ea5f8f
Merge branch 'fix/eflags' of https://github.com/rhelmot/unicorn into rhelmot-fix/eflags
2016-08-24 16:13:31 +08:00
Nguyen Anh Quynh
40ea64af19
Merge branch 'feat/xmm_regs' of https://github.com/rhelmot/unicorn into rhelmot-feat/xmm_regs
2016-08-23 06:52:45 +08:00
nnn
64e6fbc480
Fixed printf format specifier
2016-08-20 22:34:14 -07:00
nnn
d77fd18915
Fixed multiple bugs in test_x86_rip_bug.c
...
Fixed format warning in test_hang.c
2016-08-20 22:23:51 -07:00
nnn
4a67727f81
Updated Makefile
2016-08-20 18:47:45 -07:00
Neil
06fc5d1ea9
Add files via upload
...
Unit Test for Issue #534
2016-08-20 21:35:23 -04:00
Hors
90fb03cf5c
Update mem_map_0x100000000.c
2016-08-19 23:33:04 +02:00
Hors
0fc3861699
Update Makefile
2016-08-19 23:32:19 +02:00
Hors
deeca1f722
Create mem_map_0x100000000.c
2016-08-19 11:19:06 +02:00
Andrew Dutcher
46c53fa4b7
Add regression test for new eflags patch
2016-08-15 00:12:32 -07:00
Andrew Dutcher
42949408ca
Added test for real self-modifying code
2016-08-14 23:21:38 -07:00
Andrew Dutcher
b1f03a02f2
Add tests for xmm register read/write
2016-08-14 19:26:32 -07:00
Andrew Dutcher
97b10da133
Undo the disaster that was the patch to unicorn github issue #266 and fix it correctly. makes normal self-modifying code work.
2016-08-09 19:35:20 -07:00
samothtronicien
edd37f7a1c
removing tests/regress/test_x86_shl.cpp
2016-08-01 10:31:10 +02:00
samothtronicien
92f97da49f
bit of refactoring
2016-07-31 19:45:46 +02:00
samothtronicien
f1041a2615
renamed to test_x86_shl_enter_leave.c
2016-07-31 03:23:00 +02:00
samothtronicien
ae8e34173a
added tests with enter/leave
2016-07-31 03:19:52 +02:00
samothtronicien
1ecc5abdbc
fixed typo: test_x86_shl_pf -> test_x86_shl
2016-07-30 16:44:54 +02:00
samothtronicien
8120b7732e
added test_x86_shl_pf to makefile
2016-07-30 16:42:51 +02:00
samothtronicien
c1cd06ec52
ported test to C
2016-07-30 16:41:40 +02:00
samothtronicien
6c3eecb2a3
added unit test for x86
...
This test highlight the issue with the SHL instruction in the form (SHL r, CL), the flags values retrieved in the code hook are not correct.
2016-07-30 04:18:12 +02:00
samothtronicien
6fc1f27492
completed the test
...
The issue noticed before only occurs while we are in the hook_code (eflags is not correctly updated after the execution of the SHL instruction using CL).
Once the emulation has finished executing the code the value of eflags is correct.
2016-07-29 18:52:53 +02:00
samothtronicien
2ba32922e4
Moved test_x86_shl.cpp to tests/regress
2016-07-29 12:00:48 +02:00
Nguyen Anh Quynh
07426d324b
regress: chmod +x x86_fldt_fsqrt.py
2016-07-16 22:31:39 +08:00
Niklas Baumstark
3eaceec07e
add regression test for fsqrt hang
2016-07-16 15:19:44 +02:00
Nguyen Anh Quynh
0a4ca0d365
regress: make some tests less noisy
2016-07-09 10:50:21 +08:00
Hoang-Vu Dang
9a2a5b15d8
Rename unhandled CPU exception
2016-07-05 11:10:39 -05:00
Hoang-Vu Dang
9cdca5a32b
Unhandled interrupt will halt execution
2016-07-04 17:07:57 -05:00
Hoang-Vu Dang
3151451c87
Fix some invalid code in regress
2016-07-04 00:59:34 -05:00
Nguyen Anh Quynh
faef4365cf
Merge pull request #583 from petmac/arm_fp_vfp_disabled
...
Fix incorrect end address passed to emu_start.
2016-06-27 22:17:12 +08:00
Peter Mackay
0e661cb3cb
Fix incorrect end address passed to emu_start.
2016-06-21 09:26:27 +01:00
Nguyen Anh Quynh
65bef683d3
regress: more flexible .gitignore
2016-06-16 09:27:47 +08:00
Nguyen Anh Quynh
6193be73b7
tests: more flexible .gitignore for tests/unit/
2016-06-16 09:14:32 +08:00
Nguyen Anh Quynh
fdcdaa3639
Merge branch 'master' of https://github.com/NUko32/unicorn into NUko32-master
2016-06-16 09:07:33 +08:00
Peter Mackay
d4f0ab7ba8
Add Thumb-2 code to enable FP and VFP.
2016-06-15 23:43:51 +01:00
nuko32
9b46a22cd5
final refactoring for test_hang
2016-06-15 20:52:28 +02:00
nuko32
3bec4b2cf1
refactored test_hang and fixed indentations
2016-06-15 20:44:22 +02:00
jndok
c6db9febe7
added ARM64 hang test
2016-06-15 19:18:51 +02:00
Peter Mackay
5d06e6638e
Add arm_fp_vfp_disabled.py test.
2016-06-10 08:19:09 +01:00
Nguyen Anh Quynh
125f77a460
regress: chmod +x vld.py
2016-05-04 08:42:53 +08:00
Nguyen Anh Quynh
8b95cad550
regress: remove vmov.py
2016-05-04 08:41:09 +08:00
mkravchik
1afbee3a12
Merge pull request #3 from mkravchik/vld
...
Vld
2016-05-03 22:26:00 +03:00
mkravchik
33d105917d
Added files via upload
2016-05-03 18:43:39 +03:00
Nguyen Anh Quynh
69cabed00f
Merge branch 'asan' of https://github.com/zachriggle/unicorn into zachriggle-asan
2016-04-27 16:30:42 +08:00
Nguyen Anh Quynh
4084a385c2
regress: add mem_64_c.c from issue #523 by Chris Eagle
2016-04-24 22:53:30 +08:00
Nguyen Anh Quynh
df1de25db0
regress: chmod +x write_before_map.py
2016-04-24 18:09:06 +08:00
Tim Blazytko
0e52b913e7
added regression test write_before_map.py
2016-04-24 11:47:04 +02:00
Zach Riggle
93063d089b
Add ASAN build target with UNICORN_ASAN or via './make.sh asan'
2016-04-20 16:16:06 -07:00
Nguyen Anh Quynh
cc6cbc5cf7
Merge branch 'memleak' into m2
2016-04-18 12:48:13 +08:00
practicalswift
06a64dc3b0
Add six crash cases (2 * ARM + 4 * M68K)
...
* 001-bad_condition_code_0xe.c (ARM)
* 002-qemu__fatal__unimplemented_control_register_write_0xffb___0x0.c (M68K)
* 003-qemu__fatal__wdebug_not_implemented.c (M68K)
* 004-segmentation_fault_1.c (ARM)
* 005-qemu__fatal__illegal_instruction__0000___00000404.c (M68K)
* 006-qemu__fatal__illegal_instruction__0421___00040026.c (M68K)
```
$ ./001-bad_condition_code_0xe # ARM
uc_emu_start(…)
Bad condition code 0xe
Aborted
$ ./002-qemu__fatal__unimplemented_control_register_write_0xffb___0x0 # M68K
uc_emu_start(…)
hook_code(…) called
qemu: fatal: Unimplemented control register write 0xffb = 0x0
Aborted
$ ./003-qemu__fatal__wdebug_not_implemented # M68K
uc_emu_start(…)
qemu: fatal: WDEBUG not implemented
Aborted
$ ./004-segmentation_fault_1 # ARM
uc_emu_start(…)
hook_code(…) called
Segmentation fault
$ ./005-qemu__fatal__illegal_instruction__0000___00000404 # M68K
uc_emu_start(…)
qemu: fatal: Illegal instruction: 0000 @ 00000404
Aborted
$ ./006-qemu__fatal__illegal_instruction__0421___00040026 # M68K
uc_emu_start(…)
hook_code(…) called
qemu: fatal: Illegal instruction: 0421 @ 00040026
Aborted
```
2016-04-09 15:27:20 -04: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
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