Open Naville opened 2 weeks ago
Note:
This was tested with -DUNICORN_INTERPRETER=ON -DBUILD_SHARED_LIBS=OFF -DUNICORN_ARCH=arm
on:
Darwin Kernel Version 24.0.0: Tue Sep 24 23:39:07 PDT 2024; root:xnu-11215.1.12~1/RELEASE_ARM64_T6000 arm64
and iOS. Only one arch is selected due to the linkage issue we discussed privately in email, that I still don't know why and how to fix
Can you add a doc on how to use this as a framework?
On Mon, Nov 4, 2024, 10:26 Zhang @.***> wrote:
Title.
Per discussion with @wtdcode https://github.com/wtdcode
You can view, comment on, or merge this pull request online at:
https://github.com/unicorn-engine/unicorn/pull/2050 Commit Summary
- 57ce881 https://github.com/unicorn-engine/unicorn/pull/2050/commits/57ce8817b3e7f8b95c4776000b83ab8796bb7a2f [qemu]Copy tci from upstream qemu of corresponding version
- 771e1a7 https://github.com/unicorn-engine/unicorn/pull/2050/commits/771e1a7f9ef254c860145b08ef6e4255a34f4f36 [qemu][uc]Define interpreter mode in build options
- 9d20ee8 https://github.com/unicorn-engine/unicorn/pull/2050/commits/9d20ee824ccd3290bd0ab08363f53fcf93f7f769 [qemu]In interpreter mode, disable allocation of _EXEC memory
- 0d9f826 https://github.com/unicorn-engine/unicorn/pull/2050/commits/0d9f826a6952a0f3db5ae768ef762d80a1831e1b [qemu]It compiles!
File Changes
(9 files https://github.com/unicorn-engine/unicorn/pull/2050/files)
- M CMakeLists.txt https://github.com/unicorn-engine/unicorn/pull/2050/files#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20a (16)
- M qemu/accel/tcg/translate-all.c https://github.com/unicorn-engine/unicorn/pull/2050/files#diff-842456abe9564ae1e7d75ab8f322be6c27ca3c512e445a18e5898dea68ad9799 (6)
- M qemu/configure https://github.com/unicorn-engine/unicorn/pull/2050/files#diff-b756ac6e890984aafb9c8dbc2634906a2ac05b99818ee6b87f06863ba10a6179 (17)
- M qemu/include/tcg/tcg.h https://github.com/unicorn-engine/unicorn/pull/2050/files#diff-6ca102b9f51cd6308d5eb05777a4dfd67725e4265ce483d9dbe3400a44bf7dab (1)
- M qemu/tcg/tcg.c https://github.com/unicorn-engine/unicorn/pull/2050/files#diff-730325e5d49d67286bf55f7870b5d49a69257a19c9791e166de1690ad0a4f6e7 (6)
- A qemu/tcg/tci.c https://github.com/unicorn-engine/unicorn/pull/2050/files#diff-0e5f53b874ae207c307972c1c85bed7c0d09578708acbaa45a625cc011212d1f (1275)
- A qemu/tcg/tci/README https://github.com/unicorn-engine/unicorn/pull/2050/files#diff-037ab352d2d0a3f231b2ccf854ff594f2f909247558633e924167beb88636819 (130)
- A qemu/tcg/tci/tcg-target.h https://github.com/unicorn-engine/unicorn/pull/2050/files#diff-761b26202cf915d2bfe6c6a4e93fac3b10827658a8bba60987f5340b3bf7fecb (213)
- A qemu/tcg/tci/tcg-target.inc.c https://github.com/unicorn-engine/unicorn/pull/2050/files#diff-12ee6faf7e35a522873d0642ce2e0466a01932046366a76fe3a744292cb0651f (896)
Patch Links:
- https://github.com/unicorn-engine/unicorn/pull/2050.patch
- https://github.com/unicorn-engine/unicorn/pull/2050.diff
— Reply to this email directly, view it on GitHub https://github.com/unicorn-engine/unicorn/pull/2050, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNQNYFRSOG3ZQWXVATDXZTZ63LPHAVCNFSM6AAAAABRDK2NS6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGYZTCNRYGA3DGOA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Can you add a doc on how to use this as a framework?
not sure what you meant by "as a framework", but in my test sample I just compiled and linked everything as a static library
Can you add a doc on how to use this as a framework?
This is still work-in-progress and I need to fix the tests failure before really adding flags, samples, docs etc.
@Naville Could you rebase this against dev branch?
For more context, TCI is an interpreter backend, i.e. doesn't do any JIT and thus is suitable for running on systems without writable & executable pages, specifically iOS. More context is included in #1695
Can you add a doc on how to use this as a framework?
This is still work-in-progress and I need to fix the tests failure before really adding flags, samples, docs etc.
@Naville Could you rebase this against dev branch?
For more context, TCI is an interpreter backend, i.e. doesn't do any JIT and thus is suitable for running on systems without writable & executable pages, specifically iOS. More context is included in #1695
done
Note: Once you're done, lmk so I could upstream patches I've provided for downstream package manager: vcpkg
Title.
Per discussion with @wtdcode