Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, X86)
Go to file
Charles Ferguson b59632fb64 Ensure that PC is not fixed up when code tracing or timing. (#1179)
Under some circumstances, the PC is not fixed up properly when
returning from the execution of a block in cpu_tb_exec. This appears
to be caused by the resetting of the PC from the tb.

This change removes the additional fixup in the cases where there
is code tracing or timing active. Either of these cases would result
in the wrong PC being reported.

Closes unicorn-engine#1105.
2020-01-01 09:55:08 +08:00
bindings bindings: add UC_ERR_TIMEOUT 2019-12-29 00:19:34 +08:00
docs docs: we no longer requires python2 in building 2019-09-20 17:27:54 +08:00
include Timeout error (#1173) 2019-12-29 00:16:54 +08:00
msvc Final tweaks to MSVC build (#1139) 2019-09-07 10:46:28 +08:00
qemu Ensure that PC is not fixed up when code tracing or timing. (#1179) 2020-01-01 09:55:08 +08:00
samples Timeout error (#1173) 2019-12-29 00:16:54 +08:00
tests Tests, fixes on third platform. (#1168) 2019-12-29 00:18:40 +08:00
.appveyor.yml test appveyor artifacts (#1120) 2019-09-02 09:09:31 +08:00
.gitignore Removed hardcoded CP0C3_ULRI (#1098) 2019-07-06 17:53:02 +08:00
.travis.yml name builds in travis (#1138) 2019-09-07 11:25:13 +08:00
AUTHORS.TXT import 2015-08-21 15:04:50 +08:00
Brewfile Update Brewfile 2017-09-30 17:36:44 +07:00
ChangeLog update ChangeLog 2017-04-20 13:28:02 +08:00
cmake.sh add CMakeList.txt. build windows binary by using vs2019. (#1134) 2019-09-08 16:42:43 +08:00
CMakeLists.txt add CMakeList.txt. build windows binary by using vs2019. (#1134) 2019-09-08 16:42:43 +08:00
config.mk Fix document file extension 2016-08-08 17:33:49 +09:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING_GLIB glib_compat: add COPYING_GLIB 2016-12-27 10:15:08 +08:00
COPYING.LGPL2 LGPL2 for all header files under include/unicorn/ 2017-12-16 10:08:42 +08:00
CREDITS.TXT compatible with python2 and python3 (#1145) 2019-09-20 17:23:12 +08:00
install-cmocka-linux.sh Start moving examples in S files (#851) 2017-06-25 10:14:22 +08:00
list.c callback to count number of instructions in uc_emu_start() should be executed first. fix #727 2017-06-16 13:22:38 +08:00
make.sh remove broken iOS builds (#1109) 2019-07-31 09:33:13 +08:00
Makefile Update Makefile (#1146) 2019-09-22 22:32:35 +08:00
msvc.bat add msvc.bat 2017-04-21 15:35:40 +08:00
nmake.bat add CMakeList.txt. build windows binary by using vs2019. (#1134) 2019-09-08 16:42:43 +08:00
pkgconfig.mk pkgconfig: tag 1.0.2-rc1 2019-10-09 05:43:34 +08:00
README.md Add pharo-unicorn to binding list (#1110) 2019-07-31 15:56:28 +08:00
uc.c Timeout error (#1173) 2019-12-29 00:16:54 +08:00
windows_export.bat Make the call out to visual studio extremely resilient 2017-01-02 03:32:48 -08:00

Unicorn Engine

Join the chat at https://gitter.im/unicorn-engine/chat

Build Status Build status

Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator framework based on QEMU.

Unicorn offers some unparalleled features:

  • Multi-architecture: ARM, ARM64 (ARMv8), M68K, MIPS, SPARC, and X86 (16, 32, 64-bit)
  • Clean/simple/lightweight/intuitive architecture-neutral API
  • Implemented in pure C language, with bindings for Crystal, Clojure, Visual Basic, Perl, Rust, Ruby, Python, Java, .NET, Go, Delphi/Free Pascal, Haskell and Pharo.
  • Native support for Windows & *nix (with Mac OSX, Linux, *BSD & Solaris confirmed)
  • High performance via Just-In-Time compilation
  • Support for fine-grained instrumentation at various levels
  • Thread-safety by design
  • Distributed under free software license GPLv2

Further information is available at http://www.unicorn-engine.org

License

This project is released under the GPL license.

Compilation & Docs

See docs/COMPILE.md file for how to compile and install Unicorn.

More documentation is available in docs/README.md.

Contact

Contact us via mailing list, email or twitter for any questions.

Contribute

If you want to contribute, please pick up something from our Github issues.

We also maintain a list of more challenged problems in a TODO list.

CREDITS.TXT records important contributors of our project.