Commit Graph

1968 Commits

Author SHA1 Message Date
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
f243818806 Add Lua binding to README (#1050)
Closes https://github.com/dargueta/unicorn-lua/issues/1
2018-12-24 17:45:40 +08:00
536c4e77c4 i386: set MSR IA32_EFER to correct value at init for IA32e Mode (#1047) 2018-11-30 11:42:19 +08:00
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
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
873fffc505 Haskell bindings: use ExceptT instead of deprecated EitherT (#1034) 2018-10-25 12:54:35 -03:00
400a0ab309 Uses latest qemu arm thumb load store stuff (#1021) 2018-09-27 10:32:48 +08:00
333bfdf65e Removes accessible assert (#1022) 2018-09-24 20:21:30 +08:00
46999575fb Mips undefined shift fix (#1011) 2018-09-16 21:51:03 +08:00
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
4a86318cf4 Initializes i386 prefix value (#1013) 2018-09-16 21:50:00 +08:00
b8df067514 Sparc increase ttl number (#1016) 2018-09-16 21:49:34 +08:00
12bcf3bea0 Fuzz builds ok (#1007)
* Fuzzing M68K without abort

* UC_MODE_32 is not ok with sparc

use UC_MODE_SPARC32|UC_MODE_BIG_ENDIAN instead

* Temporary removing leaking on start targets

* Do not abort for m68K undef instructions
2018-09-11 12:49:32 +08:00
2ab9e83703 bindings/README: Add D bindings (#1010) 2018-09-11 12:45:07 +08:00
7a980e875c Adding Philippe Antoine to CREDITS (#1004) 2018-08-30 19:59:30 +08:00
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
0f14c47344 Makes SYSENTER hookable again on x86 (#996)
Adds SYSENTER to the whitelist of supported hookable instructions in unicorn
as well as fixes up the existing sysenter_hook_x86 regression test which was
previously failing

Fixes unicorn-engine/unicorn#995
2018-08-09 23:32:31 +08:00
84220d8360 Pascal/Delphi binding (#987)
* Pascal/Delphi binding

Pascal/Delphi language binding

* update credits
2018-08-03 20:33:25 +08:00
c7be4a2160 Haiku support patches (#989)
* Haiku: fix broken gcc strong stack protector

* qemu: Backport minor Haiku fix

We need to push this fix upstream to qemu. If we don't
get it upstreamed, i'll circle back and patch it if
Unicorn updates its qemu version.
2018-08-03 11:15:14 +08:00
e3af0d086d Merge branch 'master' of github.com:unicorn-engine/unicorn 2018-07-26 15:19:58 +08:00
1cb45fab51 MacOS: do not build in universal format by default 2018-07-28 00:19:49 +08:00
4d0157eb4a x86: fix #968. also fix potential bug of not clearing high bytes when updateing EIP 2018-07-26 15:19:23 +08:00
58e1f03f12 Revert "x86: fix #968"
This reverts commit 91033dd0f0.
2018-07-25 17:04:35 +08:00
91033dd0f0 x86: fix #968 2018-07-25 13:34:15 +08:00
86313650f9 fix some gcc warnings 2018-07-25 12:38:15 +08:00
2a240079d8 [Fix] Add feature support for CMPXCHG16B instruction. (#983) 2018-07-25 15:00:41 +08:00
cf0bcb82b4 fix invalid script path (#975) (#976)
* fix invalid script path (#975)

* expose target_page_align and target_page_size to public API.

* add newly exposed values to python binding.

* Revert "expose target_page_align and target_page_size to public API."

This reverts commit 38145bbaba26900118809c6179164d060b8e73e5.

* Revert "add newly exposed values to python binding."

This reverts commit 0884e06527155799494138733557adaf2f4fe71c.

* add python2-setuptools in required cygwin packages.

* Revert "fix invalid script path (#975)"

This reverts commit 8c55ca7d3447824fb672ab83ff4af5aee9ec089d.
2018-07-11 22:33:13 +07:00
0b3cd70e67 Update dotnet bindings (#973) 2018-07-05 21:30:33 +08:00
19ffa83d43 Fix naming in Python sample_x86.py (#961) 2018-05-07 09:44:27 +08:00
2edb4b57c4 switch appveyor to cygwin over https (#960) 2018-04-24 08:55:39 +08:00
9a01ae8379 Fix tests when using go 1.10 (#949) 2018-03-21 00:36:37 +08:00
1f408ce359 java: cleanup Makefile 2018-03-12 13:41:38 +08:00
94b1168776 Fix Java Makefile on Darwin (#936)
* Fixes the logic for Dylib extensions on macOS.
* Adds an uninstall task and documentation.
2018-03-12 20:40:40 +07:00
dab5060005 use new travis osx image and brew (#935)
saves time not to run update
2018-01-05 10:29:49 +08:00
a5e7199082 add Clojure 2017-12-23 00:32:33 +08:00
505f926992 link to Crystal binding 2017-12-23 00:26:40 +08:00
d5f83a9c2e arm: cleanup for ARM_CPU 2017-12-21 09:43:33 +08:00
41cc047b87 bindings: update after #922 2017-12-20 22:13:29 +08:00
444455de77 Merge branch 'master' of https://github.com/unicorn-engine/unicorn 2017-12-20 22:12:39 +08:00
e67be36c88 arm: remove unused variable in arm_cpu_get_phys_page_debug() 2017-12-20 22:12:35 +08:00
da5f2fc883 Fix wrong register aliases on arm64 (#922) 2017-12-20 22:09:38 +08:00
5a117c84ff add travis testing path (#930)
closes #927
2017-12-17 19:24:09 +08:00
3e0d0cfab7 i386: fix signed int overflow in #923 & #924 2017-12-16 10:28:45 +08:00
e6c27cfbd5 LGPL2 for all header files under include/unicorn/ 2017-12-16 10:08:42 +08:00
bc34c36eae version changed and unicorn.gemspec renamed to unicorn-engine.gemspec (#915) 2017-10-27 20:30:01 +08:00
8df86c86a4 changed gem name to unicorn-engine (#911)
* changed gem name to unicorn-engine

* changed the gem name in Makefile
2017-10-17 00:53:20 +08:00
4ad770b6c2 Added note about installing tests dependencies on Mac OS X. Added note about tests failing when required architecture support is disabled in build. (#908) 2017-10-12 19:56:00 +08:00
961c916a1c brew bundle changed, travis version needs update (#906) 2017-10-10 08:52:24 +08:00
f0677fc13b only build brew HEAD on master and rm trusty jobs (#904)
brew HEAD pulls from master, so it only makes sense to build on master

trusty is now the travis default, explicit jobs are no longer required
2017-10-07 23:56:02 +08:00
11c972e6db Update Brewfile
more comments for Brew
2017-09-30 17:36:44 +07:00