Commit Graph

144 Commits

Author SHA1 Message Date
Nguyen Anh Quynh aaaea14214 import Unicorn2 2021-10-03 22:14:44 +08:00
lazymio 225d387325
Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT] (#1368)
* Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT]

Note that:
1. We only guarantee the pc (and other internal states) is correct
if and only of `uc_emu_start` returns without any error (or errors
have been handled in callbacks.).
2. If memory read/write error isn't handled by hooks, the state is
undefined and the pc is probably wrong if no hook is installed.

This fixes #1323.

* Rename variables

* Add note in unicorn.h

* Refine test_i386_invalid_mem_read_in_tb
2021-05-12 00:10:45 +08:00
lazymio f1f59bac55
The UC instance must be created twice to reproduce the problem (#1382)
* The UC instance must be created twice to reproduce the problem

* Fix coding style
2021-04-10 03:30:24 +08:00
lazymio bf1713d9e0
Add arm ite blocks samples from #853 (#1381) 2021-03-30 12:06:26 +08:00
Nguyen Anh Quynh 95e539f3e6 samples: make sample_x86.c to use uc_context_free() to free context (instead of uc_free()) 2020-09-24 22:37:01 +08:00
Nguyen Anh Quynh fbef45b18f remove UC_ERR_TIMEOUT, so timeout on uc_emu_start() is not considered error. added UC_QUERY_TIMEOUT to query exit reason 2020-05-24 23:54:45 +08:00
Dominik Maier 9fedbd96f4
fixed leaks in test cases (#1247) 2020-05-02 18:18:18 +08:00
ζeh Matt 3a3bc0c22d Timeout error (#1173)
* Implement timeout state and new error for such case

* Adjust test_i386_loop sample

* Adjust test_i386_loop test
2019-12-29 00:16:54 +08:00
Catena cyber feb46abb4a Fuzz (#1000)
* Integration with oss-fuzz

* Use CFLAGS even for linking

as for fuzzing with asan

* Do not abort on uc_emu_start error

* Redirect fuzz output somewhere else than stdout

* Use uc_open for every fuzz instance

* Avoids timeouts from infinite loops

Limiting the number of instructions

* Moving fuzz to tests directory
2018-08-29 10:36:23 +08:00
RLib f0229bd144 Fixed register mistake in comments (#894) 2017-09-17 16:40:01 +07:00
Nguyen Anh Quynh 8f2d6cd70f samples: comment out test_i386_invalid_c6c7() 2017-06-14 16:14:36 +07:00
vardyh 944658e920 samples::x86: introduce C6/C7 validation testcase
Signed-off-by: vardyh <vardyh.dev@gmail.com>
2017-05-25 17:55:40 +08:00
zhangwm 4a62409949 arm64eb: arm64 big endian also using little endian instructions. (#816)
* arm64eb: arm64 big endian also using little endian instructions.

* arm64: using another example that depends on endians.

example:
1. store a word: 0x12345678
2. load a byte:
   * little endian : 0x78
   * big endian    : 0x12
2017-05-04 20:00:48 +08:00
xorstream fa45a42c76 Removed MSVC binding. (#808) 2017-04-27 10:21:04 +08:00
xorstream 1940bc7032 Added arm64eb sample to sample_all.sh script (#809) 2017-04-25 13:42:13 +08:00
Nguyen Anh Quynh 2bd40b9c91 update armeb & arm64eb samples 2017-04-25 12:55:26 +08:00
zhangwm 2e973a13f0 arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
xorstream d167f1a27a Added armbe support to MSVC branch. (#801) 2017-04-21 15:26:21 +08:00
Nguyen Anh Quynh e917c9de10 Merge branch 'master' into msvc2 2017-04-21 01:17:00 +08:00
Elias Bachaalany d10737c9f8 Added .gitignore for VS 2015 (#794) 2017-04-12 08:50:02 +08:00
Nguyen Anh Quynh 094ca80092 fix conflicts 2017-03-30 12:23:24 +08:00
Nguyen Anh Quynh b9712f0a5d add sample_armeb to sample_all.sh 2017-03-18 16:30:44 +08:00
zhangwm d2740b17ce armeb: add C sample for armeb. 2017-03-13 23:19:09 +08:00
zhangwm d8fe34a2e8 armeb: Add support for ARM big endian. 2017-03-13 22:32:44 +08:00
Nguyen Anh Quynh c01dcf0a14 fix merge conflicts 2017-03-10 21:04:33 +08:00
Nguyen Anh Quynh f2e75422e8 samples: add all sample code to sample_all.sh 2017-03-10 21:02:29 +08:00
xorstream 69ae8f7987 Fix for MIPS issue. (#733) 2017-01-23 12:39:34 +08:00
xorstream cbd0e6056c Fixed some conflicts 2017-01-23 11:35:00 +11:00
xorstream e46f86c80b Merging with current msvc. 2017-01-23 01:07:06 +11:00
xorstream 72a497bc14 Added MIPS support and projects for all samples. 2017-01-23 01:05:08 +11:00
Nguyen Anh Quynh 206819bd98 cleanup after msvc port 2017-01-22 21:27:17 +08:00
xorstream 770c5616e2 Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
xorstream fac6a66860 platform.h move #3 2017-01-21 00:13:21 +11:00
xorstream 1fea4e6d87 Some small changes to clean up before pull request. 2017-01-20 22:34:14 +11:00
xorstream 002151874a Unicorn interface working with test app in 32bit and 64bit builds. 2017-01-20 17:27:22 +11:00
xorstream 1aeaf5c40d This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11: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
Nguyen Anh Quynh 9a79d6fe9f Merge branch 'master' into noglib2 2016-12-27 16:48:23 +08:00
Andrew Dutcher bf2cd79a4d Windows: export a static lib that can be used outside of mingw (#699)
* Windows: export a static lib that can be used outside of mingw

* Add comments to windows_export.bat
2016-12-27 16:30:07 +08:00
Nguyen Anh Quynh b34109fb0d samples: link RT for Linux only 2016-12-24 17:48:15 +08:00
Nguyen Anh Quynh d37ae7364a samples: link RT for non-MacOS 2016-12-24 15:04:34 +08:00
Nguyen Anh Quynh feb477b2bc samples: an attempt to fix the reference error to clock_gettime(), as reported by Travis 2016-12-20 12:52:03 +08:00
Nguyen Anh Quynh 5e217a2490 fix samples/Makefile 2016-12-19 23:51:59 +08:00
Nguyen Anh Quynh 7665310daa samples: add -lrt for clock_gettime(), as suggested by Stephen 2016-12-19 23:50:21 +08:00
Chris Eagle e46545f722 remove glib dependency by provide compatible replacements 2016-12-18 14:56:58 -08:00
Nguyen Anh Quynh 33813a0781 samples: fix Makefile for Mingw 2016-11-19 23:40:38 +08:00
Nguyen Anh Quynh c4ddf4e36b fix samples/Makefile 2016-11-19 17:29:51 +08:00
Nguyen Anh Quynh 4a03f6021f fix merge conflict 2016-11-19 17:29:06 +08:00
Nguyen Anh Quynh ab9bae4f3e revert the change on verbose option for Makefile 2016-11-19 17:20:05 +08:00