diff --git a/core/jni/Android.bp b/core/jni/Android.bp index f7d1014ab62d3..b5b7c0f38bb9c 100644 --- a/core/jni/Android.bp +++ b/core/jni/Android.bp @@ -40,6 +40,12 @@ cc_library_shared { cppflags: ["-Wno-conversion-null"], + product_variables: { + eng: { + cflags: ["-DNO_RESET_STACK_PROTECTOR"], + }, + }, + cpp_std: "gnu++20", srcs: [ diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index 19bcd7fe09ad4..963a83e5d3eed 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -2296,7 +2296,7 @@ pid_t zygote::ForkCommon(JNIEnv* env, bool is_system_server, setpriority(PRIO_PROCESS, 0, PROCESS_PRIORITY_MIN); } -#if defined(__BIONIC__) +#if defined(__BIONIC__) && !defined(NO_RESET_STACK_PROTECTOR) // Reset the stack guard for the new process. android_reset_stack_guards(); #endif