Commit graph

39 commits

Author SHA1 Message Date
Lioncash b6f752970b
target/riscv: Initial introduction of the RISC-V target
This ports over the RISC-V architecture from Qemu. This is currently a
very barebones transition. No code hooking or any fancy stuff.
Currently, you can feed it instructions and query the CPU state itself.

This also allows choosing whether or not RISC-V 32-bit or RISC-V 64-bit
is desirable through Unicorn's interface as well.

Extremely basic examples of executing a single instruction have been
added to the samples directory to help demonstrate how to use the basic
functionality.
2019-03-08 21:46:10 -05:00
Catena cyber 86be817717
Fuzz
* Integration with oss-fuzz

* Use CFLAGS even for linking

as for fuzzing with asan

* Do not abort on uc_emu_start error

* Redirect fuzz output somewhere else than stdout

* Use uc_open for every fuzz instance

* Avoids timeouts from infinite loops

Limiting the number of instructions

* Moving fuzz to tests directory
2018-10-06 04:49:11 -04:00
zhangwm 2e973a13f0 arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
zhangwm d8fe34a2e8 armeb: Add support for ARM big endian. 2017-03-13 22:32:44 +08:00
Nguyen Anh Quynh 9a79d6fe9f Merge branch 'master' into noglib2 2016-12-27 16:48:23 +08:00
Andrew Dutcher bf2cd79a4d Windows: export a static lib that can be used outside of mingw (#699)
* Windows: export a static lib that can be used outside of mingw

* Add comments to windows_export.bat
2016-12-27 16:30:07 +08:00
Nguyen Anh Quynh b34109fb0d samples: link RT for Linux only 2016-12-24 17:48:15 +08:00
Nguyen Anh Quynh d37ae7364a samples: link RT for non-MacOS 2016-12-24 15:04:34 +08:00
Nguyen Anh Quynh feb477b2bc samples: an attempt to fix the reference error to clock_gettime(), as reported by Travis 2016-12-20 12:52:03 +08:00
Nguyen Anh Quynh 5e217a2490 fix samples/Makefile 2016-12-19 23:51:59 +08:00
Nguyen Anh Quynh 7665310daa samples: add -lrt for clock_gettime(), as suggested by Stephen 2016-12-19 23:50:21 +08:00
Chris Eagle e46545f722 remove glib dependency by provide compatible replacements 2016-12-18 14:56:58 -08:00
Nguyen Anh Quynh 33813a0781 samples: fix Makefile for Mingw 2016-11-19 23:40:38 +08:00
Nguyen Anh Quynh c4ddf4e36b fix samples/Makefile 2016-11-19 17:29:51 +08:00
Nguyen Anh Quynh 4a03f6021f fix merge conflict 2016-11-19 17:29:06 +08:00
Nguyen Anh Quynh ab9bae4f3e revert the change on verbose option for Makefile 2016-11-19 17:20:05 +08:00
Stephen 75d90aff52 Make cleanup (#666)
* make cleanup

* Update .travis.yml
Update eflags_nosync.c
Update sigill2.c
Update ro_mem_test.c
Update ro_mem_test.c
Update nr_mem_test.c
Update mem_fuzz.c
Update mem_double_unmap.c
Update emu_stop_in_hook_overrun.c
Update eflags_nosync.c
remove unused
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update mem_64_c.c
Update mem_64_c.c
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update Makefile
Update .travis.yml
try android ndk build
Update unicorn.py
Update unicorn.py
Update Makefile
Update unicorn.py
Update unicorn.py
remove an untrue comment

if a dll/so/dylib gets loaded at runtime is dependent on many different factors, primarily the LD/DYLD paths. Those do not always include the current working directory
Update Makefile
Update .appveyor.yml
Update .travis.yml
Update Makefile
Update .appveyor.yml
Fix bad sample

* Update Makefile

* Update Makefile

* Update install-cmocka-linux.sh

* remove verbose option from tar

* add upgrade to pacman for cmake

* pacman double update, needed to get new packages

* enable cmocka unit testing

* rejigger commands to fail on any step

should get fails in msys builds for cmocka

* fix quote

* make cmocka in cygwin only

* add msys cache
2016-11-19 17:17:48 +08:00
Stephen 186540e160 make cleanup 2016-11-06 16:27:24 -08:00
Stephen bc08bfda67 Unit testing in CI (#651)
- in appveyor, install clang and cmake in cygwin, enable package upgrades, and build cmocka and enable testing for gcc only
- in `gitignore`, ignore generated cmocka folder
- in travis, use brew in osx to install cmocka, and enable testing for gcc and clang on os x and linux
- in `Makefile`, change to use `uname -s` to determine os type
- make `install-cmocka-linux.sh`, a simple shell script to download and install cmocka on linux
- in `bindings/Makefile`, enable `make -c` to call subdirectory makefiles instead of `cd [dir] && make` and include environment variables for runtime access to generated libraries
- in `samples/Makefile`, change to use `uname -s` to determine os type, remove `clean_bins` from `all` command, and include `Werror` for compile strictness
- in `tests/unit/Makefile`, add `cflags` for compile time access to cmocka headers and library, include execute vars for runtime access to cmocka and unicorn libs
- in `tests/unit/test_tb_x86.c`, comment out assert that would not compile
2016-10-22 00:21:10 +08:00
4577 1f978de447 Remove BUILDDIR-specific code 2016-09-04 08:59:31 +02:00
Zach Riggle 93063d089b Add ASAN build target with UNICORN_ASAN or via './make.sh asan' 2016-04-20 16:16:06 -07:00
Ryan Hileman 159f9310aa add sample_batch_reg 2016-04-04 20:59:42 -07:00
Chris Eagle 6991d69dad merge from upstream 2016-03-25 19:46:44 -07:00
Nguyen Anh Quynh 3bb05fa8e9 samples: clean executable binaries before building 2016-03-25 22:30:04 +08:00
Chris Eagle dc7ec51c6d file permissions 2016-03-24 08:57:00 -07:00
Chris Eagle 2825cfd07a add sample to Makefile 2016-03-24 08:56:13 -07:00
Nguyen Anh Quynh 69b784fc45 samples: LDFLAGS += -lpthread. this fixes issue 382 2016-01-19 09:11:25 +08:00
Hiroyuki Uekawa 6445c80b29 Build for Cygwin 2015-12-20 22:00:35 +09:00
Chris Eagle 0b676a82d4 Merge remote-tracking branch 'upstream/master' 2015-09-04 10:27:33 -07:00
Chris Eagle e9c6b11506 add mem_api sample program and fix check for wrong NX related constant in cputlb.c 2015-09-04 10:27:03 -07:00
pancake e89174c3f1 Fix build of regress/ 2015-09-04 07:56:35 -04:00
Chris Eagle 8cfd902e4b Move mem_xxx samples to regress. Add check to only flush tlb when unmapping if there is a current cpu 2015-09-04 00:48:24 -07:00
Chris Eagle 9e4e96ff47 final updates for uc_mem_unmap, uc_mem_protect, and support ro UC_PROT_EXEC permission 2015-08-30 19:50:18 -07:00
Chris Eagle 394461b941 section splitting complete for uc_mem_protect 2015-08-30 14:01:07 -07:00
Nguyen Anh Quynh 3b5df362d7 chmod -x <some source code> 2015-08-28 18:12:56 +08:00
Chris Eagle adc254cc74 Roll back uc_mem_protect changes 2015-08-28 01:37:49 -07:00
Chris Eagle 4f11d88d28 Makefile cleanup 2015-08-28 00:17:33 -07:00
Nguyen Anh Quynh c55ad00e2a samples: use -e rather than -a to check for file existence in Makefile 2015-08-24 17:48:30 +08:00
Nguyen Anh Quynh 344d016104 import 2015-08-21 15:04:50 +08:00