Commit Graph

57 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
148fa4d66d cleanup: we do not support PowerPC 2020-04-13 17:37:06 +08:00
Nguyen Anh Quynh
8ff326a2a3
fix finding python path which only has python3. (#1220) 2020-03-06 01:48:53 +08:00
Saagar Jha
d69ebfa55c
Make it easier to link against libunicorn on macOS (#1195)
Adding @rpath to the install name to make it possible to link against
the library without modifying it with install_name_tool. Copying both
the versioned and unversioned dylibs simplifies linking.
2020-02-12 14:16:34 +08:00
kj.xwings.l
8b659c61b2 Update Makefile (#1146) 2019-09-22 22:32:35 +08:00
Stephen
8f0f77233d fix msys2 and travis builds (#1118)
* fix msys2 builds

* move to travis xenial

now the default

* add i386 cmocka

* move to only different cmocka on 32 bit build

* minimize packages on non x86
2019-08-11 17:47:36 +08:00
Kevin Phoenix
3053e64708 Specify python for building QEMU on macOS (#1107) 2019-07-30 10:49:33 +08:00
Catena cyber
feb46abb4a Fuzz (#1000)
* 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-08-29 10:36:23 +08:00
Alex von Gluck IV
c7be4a2160 Haiku support patches (#989)
* Haiku: fix broken gcc strong stack protector

* qemu: Backport minor Haiku fix

We need to push this fix upstream to qemu. If we don't
get it upstreamed, i'll circle back and patch it if
Unicorn updates its qemu version.
2018-08-03 11:15:14 +08:00
Nguyen Anh Quynh
1cb45fab51
MacOS: do not build in universal format by default 2018-07-28 00:19:49 +08: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
Neal Gompa (ニール・ゴンパ)
fc72622ba8 Makefile: Allow for overriding job threads for making 'qemu' dir (#762)
Providing a default level of parallelism is perfectly fine, but it
should also be possible to set higher or lower levels of parallelism
easily. This is particularly beneficial for people packaging the
software for Linux distributions.
2017-02-24 21:49:29 +08:00
Nguyen Anh Quynh
8f488a101c Makefile: clean remove library *.{a,def} 2017-02-23 20:57:14 +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
14ab8df36b Merge branch 'master' into noglib 2016-12-26 13:46:38 +08:00
danghvu
06541894ea Makefile: uc.o and list.o is compiled with qemu, fix for issue #696 2016-12-25 21:46:52 -06:00
Nguyen Anh Quynh
93044e39f1 Merge branch 'master' into noglib 2016-12-22 12:13:34 +08:00
Nguyen Anh Quynh
2386293020 Makefile: add a note on 'header' target 2016-12-22 01:12:10 +08:00
Nguyen Anh Quynh
c42e118832 on MacOS, compile in Universal format by default 2016-12-19 22:07:38 +08:00
Nguyen Anh Quynh
5f81c00559 Merge branch 'noglib' of https://github.com/cseagle/unicorn into cseagle-noglib 2016-12-19 17:32:27 +08:00
Chris Eagle
e46545f722 remove glib dependency by provide compatible replacements 2016-12-18 14:56:58 -08:00
ant1
f6908e2c62 Do not prepend DESTDIR twice when installing unicorn.pc on FreeBSD 2016-12-17 07:25:06 +00:00
Nguyen Anh Quynh
ab9bae4f3e revert the change on verbose option for Makefile 2016-11-19 17:20:05 +08:00
Stephen
6bce28c946 Update Makefile 2016-11-11 08:40:22 -08:00
Stephen
a931761dad Update Makefile 2016-11-11 08:31:16 -08:00
Stephen
9f0cdc4be9 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
2016-11-11 07:45:06 -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
Hoang-Vu Dang
d15b128ef3 Fix issue #601 2016-08-06 21:26:47 -05:00
Nguyen Anh Quynh
6f5e59be73 make.sh: add new option 'macos-universal' to build MacOS universal binaries 2016-07-15 16:34:16 +08:00
Nguyen Anh Quynh
eea0b2d520 build MacOS binaries in universal format. based on suggestion of @ThomasKing2014 at issue #482 2016-07-15 14:12:30 +08:00
Nguyen Anh Quynh
fef59a4e3c Makefile: re-enable CC flag -fvisibility=hidden 2016-04-27 16:32:30 +08:00
Zach Riggle
93063d089b Add ASAN build target with UNICORN_ASAN or via './make.sh asan' 2016-04-20 16:16:06 -07:00
Nguyen Anh Quynh
d2ffea0e88 Makefile: do not recompile samples/ for install target 2016-03-21 13:02:17 +08:00
Nguyen Anh Quynh
249e2ac0a0 Merge branch 'hook-refactor' of https://github.com/lunixbochs/unicorn into lunixbochs-hook-refactor 2016-01-23 10:58:37 +08:00
Ryan Hileman
93052f6566 refactor to allow multiple hooks for one type 2016-01-22 18:41:43 -08:00
Nguyen Anh Quynh
ca8c66d9f8 compile with -j4 option to reduce memory usage (issue #209) 2016-01-19 13:34:08 +08:00
Nguyen Anh Quynh
b3ebd1b7cb Merge branch 'master' of https://github.com/iroiro123/unicorn into iroiro123-master 2016-01-01 14:01:39 +08:00
Nguyen Anh Quynh
10228dcb12 link shared library with option -Bsymbolic-functions. proposed by @egberts. this fixes issue #187 2015-12-29 01:11:37 +08:00
Hiroyuki Uekawa
6445c80b29 Build for Cygwin 2015-12-20 22:00:35 +09:00
Nguyen Anh Quynh
342a68f9da fix setting cross compilation variables. this is ported over from Capstone 2015-12-20 10:05:04 +08:00
Nguyen Anh Quynh
203876d4f6 support building on OSX 10.6.8. this fix is ported over from Capstone 2015-12-20 10:00:34 +08:00
pancake
b15a179a18 Fix #184 - Proper handling of DESTDIR 2015-11-10 11:47:19 +01:00
Nguyen Anh Quynh
a1f8c8ae87 Makefile: overwrite existent library for install target with 'ln -sf' 2015-10-25 09:44:01 +08:00
Jonathon Reinhart
efb0c87e39 fix install logic after changing LIBRARY
Now that LIBRARY is the versioned name (e.g. "libunicorn.so.0"), we
don't need this rename step; just create the symlink for libunicorn.so.
If VERSION_EXT isn't set, then the library we installed already has the
correct name, and no symlink is necessary.

We should probably be running 'ldconfig' to handle this, or better yet,
using libtool.
2015-10-24 16:43:34 -04:00
Jonathon Reinhart
c7de7e44a6 create versioned library name and symlink unversioned name on *nix
This allows executables (e.g. unit tests) to link against the
libunicorn.so in the build directory, after the SONAME was added in
4860fdb3.

Becuase libunicorn.so has an SONAME of libunicorn.so.0, the linker uses
the SONAME for the DT_NEEDED entry of the tests. But because a library
with that name did not exist, they would fail to run.
2015-10-21 22:48:25 -04:00
Nguyen Anh Quynh
bc96e221df fix UNICORN_DEBUG backward setting (issue #204) 2015-10-19 08:47:19 +08:00
Nguyen Anh Quynh
4860fdb34c add soname to dynamic library. this fixes issue #188 2015-10-16 22:03:24 +08:00