Commit Graph

2675 Commits

Author SHA1 Message Date
lazymio ac04c02789
Refine static libs on Linux/MacOS 2022-04-12 18:49:15 +02:00
lazymio 469fc4c35a
Merge pull request #1587 from liyansong2018/dev
Fix https://github.com/unicorn-engine/unicorn/issues/1586
2022-04-11 10:44:10 +02:00
liyansong2018 9985974998 Fix https://github.com/unicorn-engine/unicorn/issues/1586 inner free 2022-04-11 15:48:11 +08:00
liyansong2018 a28d1dfbed Fix https://github.com/unicorn-engine/unicorn/issues/1586 2022-04-11 15:31:15 +08:00
Henrik Tjäder d1372c28eb Make README code example compile 2022-04-06 13:31:12 +02:00
lazymio e3d0a33ab8
Fix BE32 usermode address XOR 2022-04-05 11:55:58 +02:00
lazymio 7e64e620d2
Remove unassigned_io_write from ioport.c 2022-04-04 11:25:40 +02:00
lazymio 2f113b11d1
Fix symbol clash on bunlded static libs 2022-04-04 11:24:59 +02:00
lazymio e188591695
Rename unicorn_static to unicorn-static 2022-04-04 10:54:35 +02:00
lazymio 4f0be88f01
Support macos 2022-04-04 10:24:07 +02:00
lazymio 82559cb9a7
Bundle static libraries 2022-04-04 10:24:07 +02:00
lazymio da561f6164
Merge pull request #1581 from rose4096/dev
Fix clang-cl compile with CONFIG_INT128 in qemu
2022-04-03 23:41:22 +02:00
rose fc0d9a82a5 Fix clang-cl compile with CONFIG_INT128 in qemu 2022-04-03 16:30:26 -04:00
lazymio 7e6d21d27c
Fix memory leak in code_gen_buffer 2022-04-03 21:44:09 +02:00
lazymio ca81d46ad5
Merge pull request #1574 from nviennot/dev
Rust bindings for insn_invalid_hook
2022-04-03 10:27:00 +02:00
lazymio ec808c94a7
Merge pull request #1575 from n1tram1/dev
Fix rust binding for insn_in hook callback
2022-04-03 00:42:45 +02:00
lazymio 6da43e268a
Merge pull request #1572 from iii-i/x86-holes
Add "holes" to where the removed x86 registers used to be
2022-04-03 00:42:08 +02:00
Martin Schmidt 9702e657a2 rust: return u32 from insn_in_hook callback 2022-03-26 15:41:37 +01:00
Nicolas Viennot af8a409141 Rust bindings for insn_invalid_hook 2022-03-25 21:49:26 -04:00
Ilya Leoshkevich 28c4c665f0 Add "holes" to where the removed x86 registers used to be
A number of x86 registers were removed for #1440, causing a change in
numbering for many other registers. This is causing inconveniences at
the moment, e.g. it's not possible to use the Unicorn2 shared library
as a drop-in replacement for the Unicorn1 one.

Restore the old numbering.

Fixes #1492.
2022-03-22 11:31:58 +01:00
lazymio 966798fbf6
Merge pull request #1570 from iii-i/s390x-brasl-brcl
Merged, thanks!
2022-03-17 20:57:53 +01:00
Ilya Leoshkevich 7de130a5d7 s390x/tcg: Fix BRASL and BRCL with large negative offsets
This is a backport of the following upstream commits:
- commit fc3dd86a290a ("s390x/tcg: Fix BRASL with a large negative offset")
- commit 16ed5f14215b ("s390x/tcg: Fix BRCL with a large negative offset")

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
2022-03-17 14:23:57 +01:00
lazymio 3112cd920e
Add a test for nested uc_emu_start exits 2022-03-06 23:51:35 +01:00
lazymio 2a4e42f315
Fix test 2022-03-06 23:40:57 +01:00
lazymio 1eeab7bb02
Format code 2022-03-06 23:40:50 +01:00
lazymio 09b15e9071
Fix exits wrongly cleared in nested uc_emu_start 2022-03-06 23:40:34 +01:00
lazymio 12fa73f2b6
Generate check_exit_request for the first tb
Consider this case:

   t:inc ecx,
     inc edx,
     jmp t

It would generate exactly one block and TB chain will generate an inline
jump. If we don't check exit at the entry of the block, we will never be
terminated.

This test case is recorded in the commit message since it's a bit
painful to write multithread related code that builds on all platforms.
2022-03-05 22:42:41 +01:00
lazymio b7bc13650c
Sync PC after we exit
We should sync PC if there is no UC_HOOK_CODE hook
2022-03-05 22:42:41 +01:00
lazymio ce932e4c28
Update comments for uc_cb_insn_sys_t 2022-03-05 22:42:41 +01:00
David Zimmer b1739c6a62
vb6 bindings: clarify Apache license as v2.0 (#1563) 2022-03-03 09:35:02 +08:00
lazymio 9f62c71094
Sync PC for SYS instruction hook 2022-02-27 15:30:27 +01:00
lazymio 7f8ff1af6a
Update sample for MRS hook 2022-02-27 15:28:32 +01:00
lazymio dd96cab9bf
Update bindings 2022-02-27 15:28:32 +01:00
lazymio e5207a1363
Implement UC_HOOK_INSN for aarch64 MRS/MSR/SYS/SYSL 2022-02-27 15:28:31 +01:00
lazymio 8e2f70a35b
Merge pull request #1559 from yrashk/aarch64-use-map-jit
Problem: Could not allocate dynamic translator buffer
2022-02-25 22:46:19 +01:00
lazymio d946114dfe
Set EFLAGS correctly on startup 2022-02-25 22:44:42 +01:00
lazymio 186be25c40
Fix wrong mode in tests 2022-02-25 22:28:26 +01:00
lazymio 84e796494f
Format code 2022-02-25 22:24:25 +01:00
lazymio 45b5d7d8d2
Add test for caf2fe1ddb 2022-02-25 22:24:17 +01:00
lazymio caf2fe1ddb
Clear state when exiting from uc_emu_start
This may cause unexpected result when we are in a nested uc_emu_start
2022-02-25 22:23:44 +01:00
lazymio defb0135fe
MSVC doesn't really have atomic64 2022-02-23 20:22:54 +01:00
lazymio ad4b56ad54
Remove armeb and aarcheb in configure 2022-02-22 15:28:16 +01:00
Yurii Rashkovskii f652340bec Problem: Could not allocate dynamic translator buffer
`Could not allocate dynamic translator buffer` error while
trying to perform any memory-related operation.

This happens on aarch64 (MacBook Pro M1)

Solution: ensure aarch64 architecture is properly checked against

Fixes #1556
2022-02-20 07:46:30 -08:00
lazymio 051ae39f08
Merge pull request #1558 from bet4it/sc
Fix pc after ppc sc inst
2022-02-20 15:42:23 +01:00
Bet4 d96083d4d1 Fix pc after ppc sc inst 2022-02-20 20:42:46 +08:00
lazymio fc4ca3b04f
Merge pull request #1554 from bet4it/const
Update constants of bindings
2022-02-19 21:27:40 +01:00
Bet4 504b31b928 Update constants of bindings 2022-02-19 21:24:40 +08:00
lazymio cc45585e90
Use windows 2019 for pypi and cargo 2022-02-17 10:47:31 +01:00
lazymio debdb66837
Use windows 2019 2022-02-17 10:39:02 +01:00
lazymio 8d9ca1ce84
Format 2022-02-17 10:37:34 +01:00