без новых инструкций?
а то на старых айфонах падает из-за того, что там нет ldapr, которая появилась только в armv8.3 (на новых айфонах все норм и на m1 тоже)
проблема в __atomic_load_n(ptr, __ATOMIC_ACQUIRE), из нее и получается эта ldapr, причем если просто такую же штуку собирать из C кода под ios в икскоде, то компилятор как-то без ldapr обходится, то есть надо какие-то флаги в clang передать, но не знаю какие и как
в репе ghc есть llvm-targets, и там есть некое +v8.3a, но если его убрать, то толку нет (собирал и со всякими разными BuildFlavour'ами и perf-llvm, и perf)
IIRC llvm-targets это про то какие флаги гцх будет давать opt и llc на том коде что он генерирует, а ртс компилируется компилятором си, который в общем с llvm не связан. Так что тут наверное нужно еще собирать как-то типа hadrian/build "*.*.cc.*.opts += -march=<required_arch>" (или аналог для make-based), чтобы прокинуть флаг именно компилятору си
Обсуждают сегодня