Commit 23f8f350 authored by topjohnwu's avatar topjohnwu

Stop using system STL since it is no longer supported

parent 8d210b5e
......@@ -2,7 +2,7 @@ APP_ABI := armeabi-v7a x86
APP_CFLAGS := -Oz -std=gnu11 \
-DMAGISK_VERSION="${MAGISK_VERSION}" -DMAGISK_VER_CODE=${MAGISK_VER_CODE}
APP_CPPFLAGS := -std=c++14
APP_STL := system
APP_STL := none
APP_PLATFORM := android-16
ifdef MAGISK_DEBUG
......
#ifndef __NEW__
#define __NEW__
#include <stddef.h>
#include <stdlib.h>
extern "C++" {
namespace std {
using ::ptrdiff_t;
using ::size_t;
struct nothrow_t {};
extern const nothrow_t nothrow;
} // namespace std
void* operator new(std::size_t);
void* operator new[](std::size_t);
void operator delete(void*);
void operator delete[](void*);
void* operator new(std::size_t, const std::nothrow_t&);
void* operator new[](std::size_t, const std::nothrow_t&);
void operator delete(void*, const std::nothrow_t&);
void operator delete[](void*, const std::nothrow_t&);
inline void* operator new(std::size_t, void* p) { return p; }
inline void* operator new[](std::size_t, void* p) { return p; }
// these next two are not really required, since exceptions are off
inline void operator delete(void*, void*) { }
inline void operator delete[](void*, void*) { }
} // extern C++
#endif // __NEW__
......@@ -2,7 +2,7 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= libsystemproperties
LOCAL_C_INCLUDES := $(LIBSYSTEMPROPERTIES)
LOCAL_C_INCLUDES := jni/include $(LIBSYSTEMPROPERTIES)
LOCAL_SRC_FILES := \
context_node.cpp \
contexts_serialized.cpp \
......
......@@ -4,6 +4,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE:= libutils
LOCAL_C_INCLUDES := jni/include $(LIBUTILS)
LOCAL_SRC_FILES := \
new.cpp \
file.cpp \
misc.cpp \
selinux.cpp \
......
#include <new>
#include <stdlib.h>
void* operator new(std::size_t s) { return malloc(s); }
void* operator new[](std::size_t s) { return malloc(s); }
void operator delete(void *p) { free(p); }
void operator delete[](void *p) { free(p); }
void* operator new(std::size_t s, const std::nothrow_t&) { return malloc(s); }
void* operator new[](std::size_t s, const std::nothrow_t&) { return malloc(s); }
void operator delete(void *p, const std::nothrow_t&) { free(p); }
void operator delete[](void *p, const std::nothrow_t&) { free(p); }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment