Disable stack protector on x86 static executables

Close #7274
This commit is contained in:
topjohnwu 2023-09-01 23:04:11 -07:00
parent be50f17f55
commit 2dbb812126

View File

@ -34,4 +34,9 @@ LOCAL_SRC_FILES := compat/compat.cpp
# Fix static variables' ctor/dtor when using LTO # Fix static variables' ctor/dtor when using LTO
# See: https://github.com/android/ndk/issues/1461 # See: https://github.com/android/ndk/issues/1461
LOCAL_EXPORT_LDFLAGS := -static -T src/lto_fix.lds LOCAL_EXPORT_LDFLAGS := -static -T src/lto_fix.lds
# For some reason, using the hacky libc.a with x86 will trigger stack protection violation
# when mixing Rust and C++ code. Disable stack protector to bypass this issue.
ifeq ($(TARGET_ARCH), x86)
LOCAL_EXPORT_CFLAGS := -fno-stack-protector
endif
include $(BUILD_STATIC_LIBRARY) include $(BUILD_STATIC_LIBRARY)