Commit Graph

1857 Commits

Author SHA1 Message Date
Chen Huitao 60896de9f4 add CMakeList.txt. build windows binary by using vs2019. (#1134)
* add CMakeList.txt. build windows binary by using vs2019.

* remove macro redefinition warning.

* add nmake.bat.

* update CMakeLists.txt. build successfully on Ubuntu-1804-amd64.

* add CMakeList.txt. build windows binary by using vs2019.

* remove macro redefinition warning.

* add nmake.bat.

* update CMakeLists.txt. build successfully on Ubuntu-1804-amd64.

* Add build specific arch option.

* fix old MSVC inline and mipsel macro.

* add install target and option of embeded MSVCRT lib.

* add cmake.sh and document.

* add xwings and chenhuitao as programmer.

* fix COMPILE-CMAKE. rename txt to md.
2019-09-08 16:42:43 +08:00
BAYET 8987ad0fff Handle serialization of cpu context save (#1129)
* Handle the cpu context save in a more pythonic way, so the context can be serialized and reuse in an other process using the same emulator architecture and modes

* Fix type error ; mistakes a size_t uint64_t ; breaks in 32bit...
2019-09-07 19:09:17 +08:00
Stephen 6c948b43ba name builds in travis (#1138) 2019-09-07 11:25:13 +08:00
Audrey Dutcher 4fd2f8c524 Final tweaks to MSVC build (#1139)
* Quote paths in msvc postbuildevent scripts

* Update MSVC readme with some new advice
2019-09-07 10:46:28 +08:00
Fish 626d72d6df Two fixes to get unicorn build better with MSVC. (#1136)
* Change MSVC keywords.

typename, class, and class are all keywords for MSVC. Adding a suffix for
all of them allows a successful compilation under VC 2017 (15.9).

* Switch from /ZI to /Zi to avoid crashes at longjmp in debug builds.
2019-09-05 00:53:37 +08:00
Luke Usher 1c1eecd863 msvc: Use default platform toolset (#1091) 2019-09-05 00:52:40 +08:00
Stephen 0961b1f7d5 test appveyor artifacts (#1120)
* test appveyor artifacts

* add msvc and upload after test

* test cygunicorn.dll dependencies

* Update .appveyor.yml

* add ntldd for msys2
2019-09-02 09:09:31 +08:00
Stephen 75d0d5b1d9 brew ignores CC variable (#1131)
* check if brew is respecting CC variable

* brew ignores CC variable
2019-09-02 08:35:57 +08:00
Chen Huitao 23a426625f check arguments, return error instead of raising exceptions. (#1125)
* check arguments, return error instaed of raising exceptions. close #1117.

* remove empty lines. remove thr underscore prefix in function name.
2019-08-23 17:05:13 +08:00
Daniel Deptford bc572be472 Check for TLB invalidation after read callback(s). (#1122)
* Adding regression test for issue where writing memory into a read only segment during a access callback fails.

* Check for TLB invalidation when calling read callbacks;  Writes to read-only memory by the callback cause a TLB flush which requires a re-read of the TLB.
2019-08-22 17:54:24 +08:00
Stephen 8f0f77233d fix msys2 and travis builds (#1118)
* fix msys2 builds

* move to travis xenial

now the default

* add i386 cmocka

* move to only different cmocka on 32 bit build

* minimize packages on non x86
2019-08-11 17:47:36 +08:00
naq 2a4924b161 Merge branch 'master' of github.com:unicorn-engine/unicorn 2019-08-05 23:00:26 +08:00
naq 9208a6f317 initialize ret=0 in cpu_exec(). issue #1115 2019-08-05 23:00:01 +08:00
Guille Polito 56ac8859b3 Add pharo-unicorn to binding list (#1110)
* Add pharo-unicorn to binding list

* Add Pharo
2019-07-31 15:56:28 +08:00
naq 3eb3a18b56 Merge branch 'master' of github.com:unicorn-engine/unicorn 2019-07-31 15:43:38 +08:00
naq 540c893157 cleanup qemu/cpus.c 2019-07-31 15:43:06 +08:00
Stephen b55bbd0ac6 fix broken build (#1108)
* fix broken build

* add binutils to path
2019-07-31 12:34:49 +08:00
Stephen ca6cb2368f remove broken iOS builds (#1109) 2019-07-31 09:33:13 +08:00
Kevin Phoenix 3053e64708 Specify python for building QEMU on macOS (#1107) 2019-07-30 10:49:33 +08:00
kj.xwings.l 24f55a7973 Removed hardcoded CP0C3_ULRI (#1098)
* activate CP0C3_ULRI for CONFIG3, mips

* updated with mips patches

* updated with mips patches

* remove hardcoded config3

* git ignore vscode

* fix spacing issue and turn on floating point
2019-07-06 17:53:02 +08:00
Starlet Leonhart 0cd69ee03b Add ARM64 Android support in make.sh (#1099)
* Add Android ARM64 support.

* Fix some things
2019-07-01 19:24:36 +08:00
kj.xwings.l 5efc0afd49 activate CP0C3_ULRI for CONFIG3, mips (#1097) 2019-06-24 20:58:53 +08:00
Ryan Houdek ae6e3c193d Fixes register reading and writing for XMM8-15 on x86-64 (#1090) 2019-06-03 19:04:41 +08:00
lzutao 778171fc95 Update help description for make.sh (#1078)
* Update help description for make.sh

* Add description for msvc_update_genfiles
2019-04-11 09:30:56 +08:00
Lukas Dresel 55d8d073bd support for YMM registers ymm8-ymm15 (#1079) 2019-04-01 11:00:34 +08:00
Aldo Mazzeo d38c8fb27f Don't duplicate a uc_mem_map_ptr'd memory region when splitting it (#1028) (#1030) 2019-03-07 09:05:26 +08:00
Jonas d6d4131873 Added x86Msr functions for the go bindings (#986) 2019-03-07 08:39:38 +08:00
Nguyen Anh Quynh 07cafff76a bindings: update for latest ARM registers addition 2019-03-07 08:38:41 +08:00
yhql 3185128031 Add ARM MSP, PSP and CONTROL register access (#1071)
Necessary for NVIC exception emulation from user.
2019-03-07 08:37:27 +08:00
Stephen c012d19034 Add xenial support (#1069)
trusty is sunsetting support in April 2019
2019-03-01 01:09:41 +08:00
Nguyen Anh Quynh 6d47b38b7f bindings: update after recent addition of ARM_REG_IPSR 2019-02-28 09:56:29 +08:00
cfrantz 6c319941a5 Add support for the ARM IPSR register. (#1067)
1. Create an enum name for the IPSR register.
2. Implement read and write of the IPSR via the xpsr helper functions.

Fixes #1065
2019-02-28 09:55:27 +08:00
Stephen 075bd65bbb Fix Cygwin Python Issue (#1068)
* Test Cygwin

* more specific python setuptools

* readd other tests
2019-02-28 09:54:45 +08:00
dmarxn 5bf6d77e4e Fixed the decoding of opcodes after getting vex2 using 0xc5 (#1064)
* Fixed the decoding of opcodes after getting vex2 using 0xc5

* Added testcase for vex. Can and should be expanded

* Fixed warning of testcase for vex (parentheses for assignment)
2019-02-25 21:14:20 +08:00
Nguyen Anh Quynh 738d102989 bindings: add newly added register MXCSR 2019-02-15 13:01:27 +08:00
dmarxn 256e7782ce Added MXCSR register, fixed writing to FPUCW. (#1059)
* Added MXCSR register for reading and writing

* Changed writing for fpucw register, now the qemu rounding status is updated as well
2019-02-15 12:59:49 +08:00
dmarxn 360e9c60e1 changed cpu_compue_eflags to use the updated eflags variable. Otherwise, cli/sti and popfl may break, as we get the non-updated eflags (#1057) 2019-02-07 23:10:01 +08:00
dmarxn 3df5ef8ab1 Fixed conditional move tcg bug (tcg_gen_movcond), which generated an ALWAYS / NEVER condition despite QEMU no supporting those conditions in the tcg_out part (#1054) 2019-01-31 09:59:51 +08:00
kj.xwings.l 8c6cbe3f3c update python binding samples, shellcode.py with 64bit syscall (#1052)
* update python binding samples, shellcode.py with 64bit syscall

* fix with quynh comments

* fix with more q comments

* reformatted

* reformatted and moved file

* reformatted and moved file

* delete file

* delete dead code

* deleted more dead code

* deleted more dead code / fix bugs

* fix 64bit eip intno eax

* rearrage rip

* Inconsistent print
2019-01-15 14:57:11 +08:00
Stephen ac0cd2144d Test i386 build (#1051)
* Test i386 build

* More i386 testing

* switch i386 packages

* add pthreads

* switch to pthread dev

* only dev libraries

* add libgcc dev

* libc for 386

* add gcc multilib

* Update .travis.yml

* test specific directories

* remove clang
2019-01-02 09:45:13 +08:00
Diego Argueta f243818806 Add Lua binding to README (#1050)
Closes https://github.com/dargueta/unicorn-lua/issues/1
2018-12-24 17:45:40 +08:00
BrunoPujos 536c4e77c4 i386: set MSR IA32_EFER to correct value at init for IA32e Mode (#1047) 2018-11-30 11:42:19 +08:00
Stephen 083a1749ee CI Cleanup (#1042)
* Improve homebrew

* remove msys cache

has ballooned out of control, now hurting build times

* re-add msys cache and clean unused pkgs

should prevent ballooning

* move cc
2018-11-19 23:51:58 +08:00
nanoric a2493a0d41 [Fix] Fix a problem that use uc_reg_write to write fs, gs has no effets in x86 64-bit mode. (#984) 2018-11-10 21:24:11 +08:00
Brian McKenna 873fffc505 Haskell bindings: use ExceptT instead of deprecated EitherT (#1034) 2018-10-25 12:54:35 -03:00
Catena cyber 400a0ab309 Uses latest qemu arm thumb load store stuff (#1021) 2018-09-27 10:32:48 +08:00
Catena cyber 333bfdf65e Removes accessible assert (#1022) 2018-09-24 20:21:30 +08:00
Catena cyber 46999575fb Mips undefined shift fix (#1011) 2018-09-16 21:51:03 +08:00
Catena cyber 910999d396 Prevents abort with m68K (#1012)
* Prevents abort with m68K

Raises exception instead

* M68K remove one uses of abort

* Less aborts and logs instead for M68K
2018-09-16 21:50:35 +08:00
Catena cyber 4a86318cf4 Initializes i386 prefix value (#1013) 2018-09-16 21:50:00 +08:00