relapids
5a54b3d7af
Fix a segfault inside tb_remove_from_jmp_list by forcing clang-cl to use the same atomic routines as MSVC.
2022-08-15 15:50:46 -07:00
relapids
2ac7b55797
Allow building with clang-cl on Windows.
2022-08-15 15:50:46 -07:00
Eric Poole
cfee2139a0
TriCore Support ( #1568 )
...
* TriCore Support
python sample
* Update sample_tricore.py
Correct attribution
* Update sample_tricore.py
Fixed byte code to execute properly.
* Update sample_tricore.py
Removed testing artifact
* Added tricore msvc config-file.h
* Added STATIC to tricore config and added helper methods to symbol file generation.
* Update op_helper.c
Use built in crc32
* Fix tricore samples and small code blocks are now handled properly
* Add CPU types
* Generate bindings
* Format code
Co-authored-by: lazymio <mio@lazym.io>
2022-04-29 23:11:34 +02:00
lazymio
656dde9f60
Fix MSVC build
2022-04-16 23:37:52 +02:00
lazymio
3d3deac5e6
Fix crash when mapping a big memory and calling uc_close
2022-04-16 19:17:41 +02:00
lazymio
2f113b11d1
Fix symbol clash on bunlded static libs
2022-04-04 11:24:59 +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
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
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
d0de673208
Fix the undefined lshift negative numbers
2022-02-12 17:47:57 +01:00
lazymio
55b4865945
Fix memory leak of custom helpers
2022-01-20 19:50:57 +01:00
mio
7095605607
Merge branch 'dev' into systemz
2022-01-18 21:10:55 +01:00
mio
218bddc0e0
Only use MAP_JIT on Apple Silicon
...
MAP_JIT causes performance regression for fork()
See https://github.com/desktop/desktop/issues/12978
2022-01-18 21:01:49 +01:00
lazymio
9ac796531a
Don't cache S390SkeyState and S390SkeysClass
2022-01-10 19:18:52 +01:00
Nguyen Anh Quynh
fa3fb82c9c
s390x: fix warning on commented code
2021-12-30 17:17:49 +08:00
mio
dc402d78ec
Ignore QEMU_BUILD_BUG_MSG on MSVC
2021-12-30 00:28:24 +01:00
mio
ab4ef2e1de
Fix MSVC build and remove warning about unused functions
2021-12-30 00:26:25 +01:00
mio
298795a9f8
Fix build on MSVC
2021-12-29 23:18:49 +01:00
mio
a38151bf77
Make s390x skey work
2021-12-27 23:19:17 +01:00
mio
faa689c0f0
Merge systemz to the latest uc2 codebase
2021-12-26 22:58:32 +01:00
Nguyen Anh Quynh
09b0c66f11
move all static vars in translate.c to tcg.h
2021-12-07 04:53:32 +08:00
Nguyen Anh Quynh
b042a6a01d
add missing files
2021-12-06 04:28:13 +08:00
Nguyen Anh Quynh
97b92d8861
initial systemz support
2021-12-06 04:19:37 +08:00
lazymio
87a391d549
Inline uc_tracecode when there is only exactly one hook
2021-11-21 16:44:39 +01:00
lazymio
640251e1aa
Leave out size parameter in callback
2021-11-09 00:21:34 +01:00
lazymio
bcf85be86d
Add a new hook type UC_HOOK_TCG_OPCODE
2021-11-03 01:46:24 +01:00
lazymio
e695686c15
Remove AFL Integration by reverting
2021-10-26 11:22:21 +02:00
lazymio
dd7476a9bd
Initial import unicornafl
2021-10-25 00:51:16 +02:00
lazymio
8ab7e0626d
To make dockcross-x86 happy
2021-10-06 11:53:34 +02:00
mio
ae1b6ad89b
Support building on Android arm aarch64 x86 x86_64
...
1. Add cmake support in CMakeLists.txt according to https://developer.android.com/ndk/guides/other_build_systems
2. Resolve symbols errors
3. Backport fixes from 438ed42311
> QEMU relies on two optimization for ppc64 and arm:
>
> 1. if(0) /* optimized code */
> 2. assert(0); /* optimized code */
>
> But the assert on mingw32 doesn't have noreturn attribute which prevents
> the second optimization and some code is reverted to the original code
> to fit in the first optimization.
>
> The assert implementation is copied from glib as qemu did.
Unfortunately, NDK also doesn't have an assert implementation qemu prefers.
2021-10-06 04:42:44 +08:00
mio
81942e9097
Manually fix for #1232
2021-10-03 23:23:55 +02:00
Nguyen Anh Quynh
aaaea14214
import Unicorn2
2021-10-03 22:14:44 +08:00
pkubaj
95bc0bdc21
Fix build with LLVM on powerpc64(le) ( #1347 )
...
Conflicting symbols need to be undefined before including altivec.h.
2020-10-25 07:34:57 +08:00
lazymio
644da9babc
Fix setjmp/longjmp on native Windows ( #1331 )
...
* Add setjmp wrapper
* Add to projects
* Use wrapper on x64
* Always build on x64 and exclude on win32
* Fix signature
* Add comments
* Add comments for os-win32.h
* Add extern decleration
* Support cmake Windows build
* Fix for MinGW
2020-09-22 02:02:43 +08:00
mogoreanu
748aceb760
Add qemu_ prefix to bitmap_set and bitmap_clear to avoid conflicts. ( #1326 )
...
When unicorn and systemd are combined into a single binary the 2
libraries conflict on bitmap_set and bitmap_clear functions which breaks
unicorn.
Co-authored-by: Nicolae Mogoreanu <mogo@google.com>
2020-09-16 17:09:10 +08:00
Chen Huitao
4ca2c7f0b0
fix some oss-fuzz ( #1218 )
...
* fix oss-fuzz 18138.
* fix oss-fuzz 20079.
* fix oss-fuzz 20209.
* fix oss-fuzz 20210.
* fix oss-fuzz 20262.
* rollback.
* rollback.
* fix oss-fuzz 20079.
* fix oss-fuzz 20179.
* fix oss-fuzz 20195.
* fix oss-fuzz 20206.
* fix oss-fuzz 20207.
* fix oss-fuzz 20265.
* fix oss-fuzz 20285.
* fix oss-fuzz 20868.
* fix oss-fuzz 20908.
* fix oss-fuzz 20909.
* fix oss-fuzz 20914.
* fix oss-fuzz 20922.
* fix oss-fuzz 20928.
* remove warnigs.
2020-03-02 09:44:53 +08:00
Chen Huitao
65614075d2
fix some oss-fuzz ( #1213 )
...
* fix oss-fuzz 18138.
* fix oss-fuzz 20079.
* fix oss-fuzz 20209.
* fix oss-fuzz 20210.
* fix oss-fuzz 20262.
* rollback.
* rollback.
* fix oss-fuzz 20079.
* fix oss-fuzz 20179.
* fix oss-fuzz 20195.
* fix oss-fuzz 20206.
* fix oss-fuzz 20207.
* fix oss-fuzz 20265.
* fix oss-fuzz 20285.
* fix oss-fuzz 20868.
2020-02-26 17:58:19 +08:00
Chen Huitao
8621bca537
fix some oss-fuzz bugs ( #1182 )
...
* fix oss-fuzz 10419.
* fix oss-fuzz 10427.
* fix oss-fuzz 10421.
* fix oss-fuzz 10422.
* fix oss-fuzz 10425.
* fix oss-fuzz 10426.
* fix oss-fuzz 10426.
* fix oss-fuzz 10422.
* fix oss-fuzz 10426.
* fix oss-fuzz 10456.
* fix oss-fuzz 10428.
* fix oss-fuzz 10429.
* fix oss-fuzz 10431.
* fix oss-fuzz 10435.
* fix oss-fuzz 10430.
* fix oss-fuzz 10436.
* remove unused var.
* fix oss-fuzz 10449.
* fix oss-fuzz 10452.
* fix oss-fuzz 11792.
* fix oss-fuzz 10457.
* fix oss-fuzz 11737.
* fix oss-fuzz 10458.
* fix oss-fuzz 10565.
* fix oss-fuzz 11651.
* fix oss-fuzz 10497.
* fix oss-fuzz 10515.
* fix oss-fuzz 10586.
* fix oss-fuzz 10597.
* fiz oss-fuzz 11721.
* fix oss-fuzz 10718.
* fix oss-fuzz 15610.
* fix oss-fuzz 10512.
* fix oss-fuzz 10545.
2020-01-05 19:20:29 +08:00
Chen Huitao
60896de9f4
add CMakeList.txt. build windows binary by using vs2019. ( #1134 )
...
* add CMakeList.txt. build windows binary by using vs2019.
* remove macro redefinition warning.
* add nmake.bat.
* update CMakeLists.txt. build successfully on Ubuntu-1804-amd64.
* add CMakeList.txt. build windows binary by using vs2019.
* remove macro redefinition warning.
* add nmake.bat.
* update CMakeLists.txt. build successfully on Ubuntu-1804-amd64.
* Add build specific arch option.
* fix old MSVC inline and mipsel macro.
* add install target and option of embeded MSVCRT lib.
* add cmake.sh and document.
* add xwings and chenhuitao as programmer.
* fix COMPILE-CMAKE. rename txt to md.
2019-09-08 16:42:43 +08:00
Fish
626d72d6df
Two fixes to get unicorn build better with MSVC. ( #1136 )
...
* Change MSVC keywords.
typename, class, and class are all keywords for MSVC. Adding a suffix for
all of them allows a successful compilation under VC 2017 (15.9).
* Switch from /ZI to /Zi to avoid crashes at longjmp in debug builds.
2019-09-05 00:53:37 +08:00
Nguyen Anh Quynh
c01dcf0a14
fix merge conflicts
2017-03-10 21:04:33 +08:00
Nguyen Anh Quynh
d52f85d16e
add back missing ELF symbols reported in #766
2017-02-26 09:39:11 +08:00
Nguyen Anh Quynh
6ea39f7d5a
merge msvc with master
2017-02-24 10:39:36 +08:00
Nguyen Anh Quynh
736d9857d2
recover some ELF symbols for building on Arm, PPC, Sparc & S390. issue #752
2017-02-20 15:16:50 +08:00
vardyh
7f9251511e
MSVC port (vardyh) ( #746 )
...
* unicorn: use waitable timer to implement usleep() on Windows
Signed-off-by: vardyh <vardyh.dev@gmail.com>
* atomic: implement barrier() for msvc
Signed-off-by: vardyh <vardyh.dev@gmail.com>
2017-02-07 21:31:35 +08:00
Nguyen Anh Quynh
ef52d9a9d1
cleanup qemu/include/qemu/module.h
2017-01-25 00:20:08 +08:00
xorstream
69ae8f7987
Fix for MIPS issue. ( #733 )
2017-01-23 12:39:34 +08:00
Nguyen Anh Quynh
2ecbe89cc1
cleanup Sparc unused code
2017-01-23 12:34:00 +08:00
Nguyen Anh Quynh
e4c7c3dbe4
cleanup Sparc unused code
2017-01-23 12:33:39 +08:00