Commit Graph

60 Commits

Author SHA1 Message Date
lazymio f3ce0fdb33
Generate both shared lib and static archive by default 2022-04-30 00:25:27 +02: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 0c975caf09
Add -static-libgcc for mingw64-32 2022-04-24 00:10:12 +02:00
lazymio d661173ecf
Pick #1594 2022-04-17 16:16:11 +02:00
lazymio a60db86144
Move static linkage flags to Libs.private 2022-04-16 15:57:54 +02:00
shuffle2 2912cd1e29
fix rust bindings build on windows (#1584)
Refine rust bindings.
2022-04-16 13:40:04 +02:00
lazymio ac04c02789
Refine static libs on Linux/MacOS 2022-04-12 18:49:15 +02:00
lazymio e188591695
Rename unicorn_static to unicorn-static 2022-04-04 10:54:35 +02:00
lazymio 82559cb9a7
Bundle static libraries 2022-04-04 10:24:07 +02:00
lazymio 1b346f94e0
Add back arm_armbe and arm64_armbe targets 2022-02-12 14:17:33 +01:00
lazymio 58fc952230
Remove armeb-softmmu and aarch64eb-softmmu 2022-02-12 14:15:54 +01:00
mio 5a592c753e
Set s390x-softmmu to STATIC 2022-01-19 22:32:00 +01:00
mio 67c437d8b8
Enable s390x in default arch
This was overriden in a previous PR
2022-01-19 22:02:26 +01:00
mio c5ad3c318c
Sync with dev and resolve conflicts 2022-01-19 20:09:25 +01:00
lazymio e018a9ca6a
Merge pull request #1544 from mrexodia/cmake-subdirectory
Refactor CMake
2022-01-19 14:07:37 +01:00
Duncan Ogilvie 5d471d81e7 Change PUBLIC to PRIVATE for linking to unicorn-common 2022-01-18 22:27:37 +01:00
mio e6ff7e83e3
Sync with dev branch 2022-01-18 21:39:45 +01:00
mio ac510d13c7
Fix fuzzing and remove unused variable 2022-01-18 21:37:32 +01:00
mio 4f1aeb83ca
Add fuzz_emu_s390x_be.c 2022-01-18 21:16:01 +01:00
mio 7095605607
Merge branch 'dev' into systemz 2022-01-18 21:10:55 +01:00
Duncan Ogilvie c0e86b0d2f Refactor CMake
Everything from #1373 seems to have been undone, so I did it again.
2022-01-18 21:08:33 +01:00
mio 28e791a37f
Add debug tracing feature
It's disabled by default, use -DUNICORN_TRACER=on to enable it
2022-01-18 19:35:43 +01:00
Nguyen Anh Quynh 5bb40c5faf s390x: cleanup CMakeLists.txt 2022-01-01 10:15:18 +08:00
mio faa689c0f0
Merge systemz to the latest uc2 codebase 2021-12-26 22:58:32 +01:00
Nguyen Anh Quynh 97b92d8861 initial systemz support 2021-12-06 04:19:37 +08:00
lazymio 06f454d513
Update CMakeLists to use it as subproject 2021-11-07 21:07:53 +01:00
Bet4 aaf340d9e4 Merge branch 'dev' into patch 2021-11-02 18:36:22 +08:00
lazymio 3dd2e0f95d
Basic implementation of uc_ctl 2021-11-01 00:39:36 +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
mio 91451aa2f5
Add a new unit test file 2021-10-20 21:27:22 +02:00
Bet4 c400924fe1
Merge branch 'dev' into patch 2021-10-17 18:18:09 +08:00
mio daf16749bc
Add a comment in adb.sh 2021-10-16 20:43:34 +02:00
mio bc5efc9ee5
Fix Android x86_64 build
Note: At this time, both arm32 and arm64 emulation doesn't work on either macOS and Ubuntu so we could only have x86_64
2021-10-16 20:35:23 +02:00
Sun Daowen 5eab884244 compile on VS2008/VS2010 (#1397)
Compiling with Win32 Release/MinSizeRel/RelWithDebInfo in VS2008 will cause "fatal error C1063: compiler limit: compiler stack overflow" problem.
Compiling with Win32 Debug or x64 does not have this problem.
You can easily bypass this problem by changing the optimization options /O1 and /O2 to /Od.
In VS2010, when _INTPTR is 0 or 1, UINTPTR_MAX is 0xFFFFFFFF.
2021-10-12 08:50:22 +08:00
lazymio 0c976ec704
Don't build samples and tests to save time when fuzzing 2021-10-06 16:24:52 +02:00
lazymio 5572c3db43
Make oss-fuzz happy 2021-10-06 15:46:25 +02:00
lazymio 8540b64211
Force static linkage for fuzz executables 2021-10-06 15:36:12 +02:00
lazymio a4c6298302
Support building fuzz targets 2021-10-06 12:06:59 +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 d6993e02c4
Link to libm to make sure our build works on older Linux 2021-10-05 12:47:27 +02:00
Nguyen Anh Quynh aaaea14214 import Unicorn2 2021-10-03 22:14:44 +08:00
Nguyen Anh Quynh 51665db668 Merge branch 'master' of github.com:unicorn-engine/unicorn 2021-05-16 21:38:17 +08:00
Nguyen Anh Quynh 2874435d2f bump version to 1.0.3 2021-05-16 21:38:08 +08:00
Sun Daowen 5790938452
compile on VS2008/VS2010 (#1397)
Compiling with Win32 Release/MinSizeRel/RelWithDebInfo in VS2008 will cause "fatal error C1063: compiler limit: compiler stack overflow" problem.
Compiling with Win32 Debug or x64 does not have this problem.
You can easily bypass this problem by changing the optimization options /O1 and /O2 to /Od.
In VS2010, when _INTPTR is 0 or 1, UINTPTR_MAX is 0xFFFFFFFF.
2021-05-16 21:36:33 +08:00
Duncan Ogilvie 4440310f14
Modernize CMake (#1373) 2021-03-30 23:32:56 +08:00
Carlo Bramini 4b34042e02
Make Unicorn buildable with MinGW (#1364)
* [WIN32] Allow to build also with MinGW

* [WIN32] Fix build for MinGW
2020-12-23 13:27:06 +08:00
Nguyen Anh Quynh 0bebb3e183 cmake: enable UNICORN_HAS_ARMEB when ARM is on 2020-11-17 15:13:16 +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
John Zimmermann 590bab8f1a
cmake: fix build if workdir is outside of CMAKE_BINARY_DIR (#1284)
this e.g. happens if you would try to compile this like this:

cmake -B build
cmake --build build --config Release
2020-06-06 12:54:06 +08:00