使用android ndk r8e优化链路时间

使用android ndk r8e优化链路时间,android,android-ndk,Android,Android Ndk,我想用新的androidndkr8e编译源代码(SDL和类似的东西)。变更日志声明“在GCC 4.7、4.6、Clang 3.2和Clang 3.1中启用-flto”。所以我在LOCAL_CFLAGS、LOCAL_CPPFLAGS和LOCAL_LDFLAGS中添加了-flto。但是优化和架构标志不在链接器调用中,因此没有进行优化(也称为慢速二进制)。链接器也会失败,因为它无法从某些.S文件中找到函数,并且某些指令在thumb模式下不可用。没有flto,一切都很好 那么,如何正确使用链路时间优化以

我想用新的androidndkr8e编译源代码(SDL和类似的东西)。变更日志声明“在GCC 4.7、4.6、Clang 3.2和Clang 3.1中启用-flto”。所以我在LOCAL_CFLAGS、LOCAL_CPPFLAGS和LOCAL_LDFLAGS中添加了-flto。但是优化和架构标志不在链接器调用中,因此没有进行优化(也称为慢速二进制)。链接器也会失败,因为它无法从某些.S文件中找到函数,并且某些指令在thumb模式下不可用。没有flto,一切都很好

那么,如何正确使用链路时间优化以及如何避免这些问题呢?不,将我自己的优化/架构标志添加到本地标志不是答案,因为我想使用NDK,而不是我自己的hacky构建脚本


链接时间优化还使用自己的构建脚本在amd64(非android)上进行了测试,效果良好(编译、链接和20%的速度优势)。因此,请保留NDK构建系统的答案。

我在2019年,当我尝试启用-flto=full时,NDK/Clang仍然失败:(