diff --git a/apps/ios/Koins/Monero/libs/libkoins_monero_device.a b/apps/ios/Koins/Monero/libs/libkoins_monero_device.a new file mode 100644 index 0000000..64894f0 Binary files /dev/null and b/apps/ios/Koins/Monero/libs/libkoins_monero_device.a differ diff --git a/apps/ios/Koins/Support/ClearCache.c b/apps/ios/Koins/Support/ClearCache.c new file mode 100644 index 0000000..150bb66 --- /dev/null +++ b/apps/ios/Koins/Support/ClearCache.c @@ -0,0 +1,10 @@ +#include +#include + +// randomx (pulled in by monero's proof-of-work code) calls the compiler-rt +// builtin __clear_cache from its AArch64 JIT. libSystem exports it on macOS and +// the simulator, but not on iOS devices, so provide the same implementation +// compiler-rt uses on Darwin. +void __clear_cache(void *start, void *end) { + sys_icache_invalidate(start, (size_t)((char *)end - (char *)start)); +} \ No newline at end of file diff --git a/apps/ios/project.yml b/apps/ios/project.yml index 48ca4a2..19f7501 100644 --- a/apps/ios/project.yml +++ b/apps/ios/project.yml @@ -26,7 +26,10 @@ targets: CODE_SIGN_STYLE: Automatic CODE_SIGNING_ALLOWED: NO SWIFT_OBJC_BRIDGING_HEADER: Koins/Bridge/Koins-Bridging-Header.h - OTHER_LDFLAGS: + OTHER_LDFLAGS[sdk=iphoneos*]: + - "$(inherited)" + - "-lkoins_monero_device" + OTHER_LDFLAGS[sdk=iphonesimulator*]: - "$(inherited)" - "-lkoins_monero_merged" LIBRARY_SEARCH_PATHS: