./emulators/unicorn, CPU emulator engine framework based on QEMU

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.1, Package name: unicorn-1.0.1, Maintainer: pkgsrc-users

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

Unicorn offers some unparalleled features:
- Multi-architecture: ARM, AMM64 (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 Python, Java, and Go
- 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


Required to run:
[devel/glib2] [lang/python27]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 85c9d7aad2a87b110b729560ed9333b66018ca6a
RMD160: 599b7ce96fe4040a48561bd9474666583265960b
Filesize: 3165.259 KB

Version history: (Expand)


CVS history: (Expand)


   2018-03-24 18:09:34 by Joerg Sonnenberger | Files touched by this commit (6)
Log message:
Don't rebuild unicorn locally for the Python binding.

Fix doesn't fix unicorn itself as it still depends on RWX mappings to
work.
   2018-02-26 03:25:28 by Pierre Pronchery | Files touched by this commit (5)
Log message:
Package the Python bindings for emulators/unicorn

No functional change intended for Unicorn itself.
Inspired by emulators/keystone and emulators/py-keystone.

Tested on NetBSD/amd64.
   2018-02-19 01:39:52 by Kamil Rytarowski | Files touched by this commit (3) | Package updated
Log message:
unicorn: Update to 1.0.1

upstream changelog
==================
Version 1.0.1
April 20, 2017

    Properly handle selected-architecture build.
    Fix compilation issues on PPC & S390x.
    Fix a memory leak on uc_mem_protect().
    Support ARM big-endian.
    ARM:
        Correct instruction size of Thumb/Thumb2 code.
        Support read/write APSR register.
    ARM64:
        Support read/write NEON registers.
        Support read/write NZCV registers.
    Mips: Support read/write Mips64 registers.
    X86: Support read/write MSR.
    Haskell binding: update to the latest API.
    Python: allow not having PATH setup.

Version 1.0
February 23, 2017

    Lots of bugfixes in all architectures.
    Fix many memory leaking issues.
    New APIs: uc_query, uc_reg_write_batch, uc_reg_read_batch, uc_mem_map_ptr, \ 
uc_mem_regions, uc_free, uc_context_alloc, uc_context_save & \ 
uc_context_restore.
    New memory hook type: UC_HOOK_MEM_READ_AFTER.
    Add new version macros UC_VERSION_MAJOR, UC_VERSION_MINOR, UC_VERSION_EXTRA.
    Remove glib & pkconfig dependency.
    Windows: export a static lib that can be used outside of Mingw.
    ARM:
        Support MCLASS cpu (Cortex-M3).
        Better support for Thumb mode.
        uc_reg_write now can modify CPSR register.
        Add some ARM coproc registers.
    ARM64: uc_reg_read & uc_reg_write now handles W0-W31 registers.
    X86:
        Fix 16bit address computation.
        Fix initial state of segment registers.
    Windows: fix a double free bug in uc_close.
    3 new bindings: Haskell, MSVC, VB6.
    Python:
        Better support for Python3
        Fix memory leaking that prevents UC instances from being GC.
   2017-03-23 18:07:02 by Joerg Sonnenberger | Files touched by this commit (219)
Log message:
Extend SHA512 checksums to various files I have on my local distfile
mirror.
   2017-01-01 15:44:09 by Thomas Klausner | Files touched by this commit (577)
Log message:
Add python-3.6 to incompatible versions.
   2016-07-09 15:04:18 by Thomas Klausner | Files touched by this commit (599)
Log message:
Remove python33: adapt all packages that refer to it.
   2015-12-13 00:23:47 by Thomas Klausner | Files touched by this commit (1)
Log message:
Mark as not ready for python-3.x.
   2015-12-12 02:26:39 by Kamil Rytarowski | Files touched by this commit (4)
Log message:
Import unicorn-0.9 as emulators/unicorn

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

Unicorn offers some unparalleled features:
 - Multi-architecture: ARM, AMM64 (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 Python, Java, and Go
 - 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