diff --git a/buildsystem/build-libvlc.sh b/buildsystem/build-libvlc.sh index 236210b42d7f2461f3bf3f09c71c1a0dfa06b155..f445233f1ea7f7538f93cef2bad3d4cd8bc58026 100755 --- a/buildsystem/build-libvlc.sh +++ b/buildsystem/build-libvlc.sh @@ -167,8 +167,9 @@ fi # cf. GLOBAL_CFLAGS from ${ANDROID_NDK}/build/core/default-build-commands.mk VLC_CFLAGS="${VLC_CFLAGS} -fPIC -fdata-sections -ffunction-sections -funwind-tables \ - -fstack-protector-strong -no-canonical-prefixes" -VLC_CXXFLAGS="-fexceptions -frtti" + -fstack-protector-strong -no-canonical-prefixes -Wl,-z,max-page-size=16384" +VLC_CXXFLAGS="-fexceptions -frtti -Wl,-z,max-page-size=16384" +VLC_LDFLAGS="-z max-page-size=16384" # Release or not? if [ "$AVLC_RELEASE" = 1 ]; then @@ -187,6 +188,7 @@ echo "API: $ANDROID_API" echo "PATH: $PATH" echo "VLC_CFLAGS: ${VLC_CFLAGS}" echo "VLC_CXXFLAGS: ${VLC_CXXFLAGS}" +echo "VLC_LDFLAGS: ${VLC_LDFLAGS}" if [ -z "$ANDROID_NDK" ]; then echo "Please set the ANDROID_NDK environment variable with its path." @@ -501,6 +503,7 @@ else echo "EXTRA_CFLAGS=${VLC_CFLAGS}" >> $VLC_CONTRIB_DIR/config.mak echo "EXTRA_CXXFLAGS=${VLC_CXXFLAGS}" >> $VLC_CONTRIB_DIR/config.mak + echo "EXTRA_LDFLAGS=${VLC_LDFLAGS}" >> $VLC_CONTRIB_DIR/config.mak echo "CC=${CROSS_CLANG}" >> $VLC_CONTRIB_DIR/config.mak echo "CXX=${CROSS_CLANG}++" >> $VLC_CONTRIB_DIR/config.mak echo "AR=${CROSS_TOOLS}ar" >> $VLC_CONTRIB_DIR/config.mak diff --git a/libvlc/jni/libvlc.mk b/libvlc/jni/libvlc.mk index cc1279cadcbe794df4b53f9bfd16c4cde35ce46e..2de85b8edae04606ebfe14b258deeccf530241b5 100644 --- a/libvlc/jni/libvlc.mk +++ b/libvlc/jni/libvlc.mk @@ -34,6 +34,7 @@ LOCAL_LDLIBS := \ -ljpeg \ -Wl,-Bsymbolic LOCAL_CXXFLAGS := -std=c++17 +LOCAL_LDFLAGS += "-Wl,-z,max-page-size=16384" # This duplicates the libvlc* link flags, but it propagates the dependency # on the native build which is what we want overall LOCAL_STATIC_LIBRARIES := libvlccore libvlccompat libvlc-native diff --git a/libvlc/jni/libvlcjni.mk b/libvlc/jni/libvlcjni.mk index aed9b32234709ab7502dc577cebaaa9687664394..10dab50e7d9aa5048e1836542485cb622b8bb105 100644 --- a/libvlc/jni/libvlcjni.mk +++ b/libvlc/jni/libvlcjni.mk @@ -17,6 +17,7 @@ LOCAL_SRC_FILES += std_logger.c LOCAL_C_INCLUDES := $(VLC_SRC_DIR)/include $(VLC_BUILD_DIR)/include LOCAL_CFLAGS := -std=c17 LOCAL_LDLIBS := -llog +LOCAL_LDFLAGS += "-Wl,-z,max-page-size=16384" LOCAL_SHARED_LIBRARIES := libvlc include $(BUILD_SHARED_LIBRARY)