Overview
Request 1136482 accepted
- Adopt source URL
- Add "-latomic" linker flag to fix #1840
- Fix the python bindings, ensure pure platform tag for
installability on non-x86 distributions by adding
openSUSE-unicorn-python-rm-distutils.patch
- Fix the sover
- Update to version 2.0.1
* No longer require Python to build
* Fix recursive UC_HOOK_MEM callbacks for cross pages access
* Remove UC_ERR_TIMEOUT, so timeout on uc_emu_start() is not considered error
* Added UC_QUERY_TIMEOUT to query exit reason
* Fix UAF when deleting hook while in hook callback
* Ensure that hooks are unaffected by a request to stop emulation.
* Fix block hooks being called twice after an early exit from execution.
* Add cmake option to build Unicorn as a static library
* Fix error handling of mmap()
* uc_emu_start() can be reentrant
* Fix naming conflicts when built with systemd
* Add uc_context_free() API
* Fix Java binding compilation
* Fix build with LLVM on Powerpc64(le)
* cmake: enable UNICORN_HAS_ARMEB when ARM is on
* Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT]
* Support querying architecture mode besides arm
* Fix pausing within Thumb2 ITE blocks
* Python: Remove UC_ERR_TIMEOUT
* Rust binding
* Update ISA of all existing architectures
* Support 2 new architectures in PowerPC & RISCV
* Set "zip_false" and "is_pure" to "False" to avoid issues on some
Linux distributions.
* Link to libm to make sure our libraries work.
* Support to read ST registers in rust bindings.
* Fix a memory leak in uc_close
* Support hooking CPUID instruction.
* New API: uc_ctl, by which you could control CPU models, TB caches
or multiple exits etc.
* New Hook: UC_HOOK_EDGE_GENERATED, UC_HOOK_TCG_OPCODE
* RISCV CSR read/write.
* Support reading MIPS hi/lo regs.
* OSS Fuzzing building support.
* MSVC 32bit and Android build support.
* Introduce clang-format.
* Add a go.mod for go bindings.
* Use binary search to find mappings.
* Fix tb not invalidated when exiting.
* Fix bindings makefile.
* Fix uc_mem_protect not working.
* Rust bindings improvements.
* Allow R/W to cp15 registers.
* Fix wrong MMIO offset for 32bit targets.
* Support nested uc_emu_start calls without context save/restore
* Allow writing to CPSR to switch bank registers.
* CPUID hook now may return a bool to indicate whether skipping
the CPUID instruction.
* Correctly generate static archives for the static build and have
CI auto-tested.
* Rust bindings revised.
* Compatible with clang-cl compiler.
* Fix exits wrongly removed in nested uc_emu_start
* Fix wrong internal states on nested uc_emu_start.
* TriCore Support
* Build both shared library and static archive as unicorn1 does.
* Fix the value collision between UC_MODE_ARMBE8 and UC_MODE_ARM926
* Advance PPC32 PC.
* Fix python sdist and add aarch64 Linux wheels.
Note pip can build Unicorn2 on M1 now!
* C# binding is refined and upgraded to .Net 6.
* Fix endianness when writing PPC32 CR register.
* Fix the endianness detection in tests.
* Support building & running on BE hosts.
* SystemZ (aka. s390x) support.
* ARM/AARCH64 coprocessor registers read/write support.
* Correctly support ARM big endian and drops armeb-softmmu and
aarch64eb-softmmu
* Support reads and writes over all Arm SIMD registers
* RISCV:
- Update pc when exiting execution.
- Add RISCV control status registers to enable floating.
- After ecall, pc not advanced.
* X86:
- Support read/write STN registers and X64 base regs
- Fix 64bit fstenv
- Fix IP value of 16bit mode
- Fix FPIP & FTST instructions
* ARM64:
- Support some new registers
- Fix APSR handling
- Support Arm BE8 mode
- Remove patch unicorn.gcc.patch
- Enable s390x and PPC
- Remove python-setuptools and python-devel from BuildRequires
- Created by AdaLovelace
- In state accepted
- Package maintainer: alois
- Supersedes 1136478
Source url is adopted now. It seems, that it is only the version number now.
Request History
AdaLovelace created request
- Adopt source URL
- Add "-latomic" linker flag to fix #1840
- Fix the python bindings, ensure pure platform tag for
installability on non-x86 distributions by adding
openSUSE-unicorn-python-rm-distutils.patch
- Fix the sover
- Update to version 2.0.1
* No longer require Python to build
* Fix recursive UC_HOOK_MEM callbacks for cross pages access
* Remove UC_ERR_TIMEOUT, so timeout on uc_emu_start() is not considered error
* Added UC_QUERY_TIMEOUT to query exit reason
* Fix UAF when deleting hook while in hook callback
* Ensure that hooks are unaffected by a request to stop emulation.
* Fix block hooks being called twice after an early exit from execution.
* Add cmake option to build Unicorn as a static library
* Fix error handling of mmap()
* uc_emu_start() can be reentrant
* Fix naming conflicts when built with systemd
* Add uc_context_free() API
* Fix Java binding compilation
* Fix build with LLVM on Powerpc64(le)
* cmake: enable UNICORN_HAS_ARMEB when ARM is on
* Fix wrong sync after UC_ERR_[READ, WRITE, FETCH]_[UNMAPPED, PROT]
* Support querying architecture mode besides arm
* Fix pausing within Thumb2 ITE blocks
* Python: Remove UC_ERR_TIMEOUT
* Rust binding
* Update ISA of all existing architectures
* Support 2 new architectures in PowerPC & RISCV
* Set "zip_false" and "is_pure" to "False" to avoid issues on some
Linux distributions.
* Link to libm to make sure our libraries work.
* Support to read ST registers in rust bindings.
* Fix a memory leak in uc_close
* Support hooking CPUID instruction.
* New API: uc_ctl, by which you could control CPU models, TB caches
or multiple exits etc.
* New Hook: UC_HOOK_EDGE_GENERATED, UC_HOOK_TCG_OPCODE
* RISCV CSR read/write.
* Support reading MIPS hi/lo regs.
* OSS Fuzzing building support.
* MSVC 32bit and Android build support.
* Introduce clang-format.
* Add a go.mod for go bindings.
* Use binary search to find mappings.
* Fix tb not invalidated when exiting.
* Fix bindings makefile.
* Fix uc_mem_protect not working.
* Rust bindings improvements.
* Allow R/W to cp15 registers.
* Fix wrong MMIO offset for 32bit targets.
* Support nested uc_emu_start calls without context save/restore
* Allow writing to CPSR to switch bank registers.
* CPUID hook now may return a bool to indicate whether skipping
the CPUID instruction.
* Correctly generate static archives for the static build and have
CI auto-tested.
* Rust bindings revised.
* Compatible with clang-cl compiler.
* Fix exits wrongly removed in nested uc_emu_start
* Fix wrong internal states on nested uc_emu_start.
* TriCore Support
* Build both shared library and static archive as unicorn1 does.
* Fix the value collision between UC_MODE_ARMBE8 and UC_MODE_ARM926
* Advance PPC32 PC.
* Fix python sdist and add aarch64 Linux wheels.
Note pip can build Unicorn2 on M1 now!
* C# binding is refined and upgraded to .Net 6.
* Fix endianness when writing PPC32 CR register.
* Fix the endianness detection in tests.
* Support building & running on BE hosts.
* SystemZ (aka. s390x) support.
* ARM/AARCH64 coprocessor registers read/write support.
* Correctly support ARM big endian and drops armeb-softmmu and
aarch64eb-softmmu
* Support reads and writes over all Arm SIMD registers
* RISCV:
- Update pc when exiting execution.
- Add RISCV control status registers to enable floating.
- After ecall, pc not advanced.
* X86:
- Support read/write STN registers and X64 base regs
- Fix 64bit fstenv
- Fix IP value of 16bit mode
- Fix FPIP & FTST instructions
* ARM64:
- Support some new registers
- Fix APSR handling
- Support Arm BE8 mode
- Remove patch unicorn.gcc.patch
- Enable s390x and PPC
- Remove python-setuptools and python-devel from BuildRequires
alois accepted request
Thanks. Would you like to maintain it?