[core] Add no-rtti & no-exceptions to cppflags (#335)
This commit is contained in:
parent
0ec737b78c
commit
4fa8839bae
|
|
@ -90,8 +90,8 @@ android {
|
|||
externalNativeBuild {
|
||||
cmake {
|
||||
abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
|
||||
cppFlags("-std=c++17 -ffixed-x18 -Qunused-arguments -frtti -fomit-frame-pointer -fpie -fPIC")
|
||||
cFlags("-std=gnu99 -ffixed-x18 -Qunused-arguments -frtti -fomit-frame-pointer -fpie -fPIC")
|
||||
cppFlags("-std=c++20 -ffixed-x18 -Qunused-arguments -fno-rtti -fno-exceptions -fomit-frame-pointer -fpie -fPIC")
|
||||
cFlags("-std=c11 -ffixed-x18 -Qunused-arguments -fno-rtti -fno-exceptions -fomit-frame-pointer -fpie -fPIC")
|
||||
arguments("-DRIRU_MODULE_API_VERSION=$moduleMaxRiruApiVersion",
|
||||
"-DRIRU_MODULE_VERSION=$verCode",
|
||||
"-DRIRU_MODULE_VERSION_NAME:STRING=\"$verName\"")
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@
|
|||
#include <dl_util.h>
|
||||
#include <art/runtime/jni_env_ext.h>
|
||||
#include "jni/pending_hooks.h"
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include "context.h"
|
||||
#include "native_hook.h"
|
||||
#include "jni/logger.h"
|
||||
|
|
@ -59,12 +57,15 @@ namespace lspd {
|
|||
void Context::PreLoadDex(const std::string &dex_path) {
|
||||
if (LIKELY(!dex.empty())) return;
|
||||
|
||||
std::ifstream is(dex_path);
|
||||
if (!is.good()) {
|
||||
LOGE("Failed to read dex");
|
||||
return;
|
||||
FILE *f = fopen(dex_path.c_str(), "rb");
|
||||
fseek(f, 0, SEEK_END);
|
||||
dex.resize(ftell(f));
|
||||
rewind(f);
|
||||
if (dex.size() != fread(dex.data(), 1, dex.size(), f)) {
|
||||
LOGE("Read dex failed");
|
||||
dex.resize(0);
|
||||
}
|
||||
dex.assign(std::istreambuf_iterator<char>(is), std::istreambuf_iterator<char>());
|
||||
fclose(f);
|
||||
|
||||
LOGI("Loaded %s with size %zu", dex_path.c_str(), dex.size());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ namespace lspd {
|
|||
jclass class_linker_class_ = nullptr;
|
||||
jmethodID post_fixup_static_mid_ = nullptr;
|
||||
bool skip_ = false;
|
||||
std::vector<signed char> dex{};
|
||||
std::vector<char> dex{};
|
||||
|
||||
Context() {}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@
|
|||
#include "logger.h"
|
||||
#include "native_util.h"
|
||||
#include "jni_helper.h"
|
||||
#include <fstream>
|
||||
#include <fcntl.h>
|
||||
|
||||
namespace lspd {
|
||||
|
|
|
|||
|
|
@ -23,17 +23,20 @@ RIRU_MODULE_API_VERSION=%%%RIRU_MODULE_API_VERSION%%%
|
|||
RIRU_MODULE_MIN_API_VERSION=%%%RIRU_MODULE_MIN_API_VERSION%%%
|
||||
RIRU_MODULE_MIN_RIRU_VERSION_NAME="%%%RIRU_MODULE_MIN_RIRU_VERSION_NAME%%%"
|
||||
|
||||
if [ "$MAGISK_VER_CODE" -ge 21000 ]; then
|
||||
MAGISK_CURRENT_RIRU_MODULE_PATH=$(magisk --path)/.magisk/modules/riru-core
|
||||
else
|
||||
MAGISK_CURRENT_RIRU_MODULE_PATH=/sbin/.magisk/modules/riru-core
|
||||
fi
|
||||
|
||||
check_riru_version() {
|
||||
RIRU_CORE_MODULES_PATH=/data/adb/modules/riru-core
|
||||
RIRU_CORE_MODULES_UPDATE_PATH=/data/adb/modules_update/riru-core
|
||||
if [ ! -f "$RIRU_CORE_MODULES_UPDATE_PATH/api_version" ] && [ ! -f "$RIRU_CORE_MODULES_PATH/api_version" ]; then
|
||||
if [ ! -f "$MAGISK_CURRENT_RIRU_MODULE_PATH/api_version" ] && [ ! -f "/data/adb/riru/api_version" ] && [ ! -f "/data/adb/riru/api_version.new" ]; then
|
||||
ui_print "*********************************************************"
|
||||
ui_print "! Riru $RIRU_MODULE_MIN_RIRU_VERSION_NAME or above is required"
|
||||
ui_print "! Please install Riru from Magisk Manager or https://github.com/RikkaApps/Riru/releases"
|
||||
abort "*********************************************************"
|
||||
fi
|
||||
RIRU_API=$(cat "$RIRU_CORE_MODULES_UPDATE_PATH/api_version") || RIRU_API=$(cat "$RIRU_CORE_MODULES_PATH/api_version") || RIRU_API=0
|
||||
RIRU_API=$(cat "$MAGISK_CURRENT_RIRU_MODULE_PATH/api_version") || RIRU_API=$(cat "/data/adb/riru/api_version.new") || RIRU_API=$(cat "/data/adb/riru/api_version") || RIRU_API=0
|
||||
[ "$RIRU_API" -eq "$RIRU_API" ] || RIRU_API=0
|
||||
ui_print "- Riru API version: $RIRU_API"
|
||||
if [ "$RIRU_API" -lt $RIRU_MODULE_MIN_API_VERSION ]; then
|
||||
|
|
|
|||
Loading…
Reference in New Issue