diff -r e8b56e0eaa7b -r f2715985987e common/autoconf/flags.m4 --- a/common/autoconf/flags.m4 Fri Mar 27 05:14:05 2020 +0000 +++ b/common/autoconf/flags.m4 Mon Apr 06 01:58:35 2020 +0100 @@ -156,6 +156,7 @@ if test "x$TOOLCHAIN_TYPE" = xgcc; then PICFLAG="-fPIC" + PIEFLAG="-fPIE" C_FLAG_REORDER='' CXX_FLAG_REORDER='' @@ -176,6 +177,7 @@ fi elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then PICFLAG="-KPIC" + PIEFLAG="" C_FLAG_REORDER='-xF' CXX_FLAG_REORDER='-xF' SHARED_LIBRARY_FLAGS="-G" @@ -185,6 +187,7 @@ SET_SHARED_LIBRARY_MAPFILE='-M[$]1' elif test "x$TOOLCHAIN_TYPE" = xxlc; then PICFLAG="-qpic=large" + PIEFLAG="" C_FLAG_REORDER='' CXX_FLAG_REORDER='' SHARED_LIBRARY_FLAGS="-qmkshrobj" @@ -194,6 +197,7 @@ SET_SHARED_LIBRARY_MAPFILE='' elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then PICFLAG="" + PIEFLAG="" C_FLAG_REORDER='' CXX_FLAG_REORDER='' SHARED_LIBRARY_FLAGS="-LD" @@ -658,8 +662,8 @@ CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA " # Executable flags - CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK" - CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK" + CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK $PIEFLAG" + CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PIEFLAG" AC_SUBST(CFLAGS_JDKLIB) AC_SUBST(CFLAGS_JDKEXE) @@ -742,6 +746,9 @@ if test "x$OPENJDK_TARGET_OS" = xlinux; then LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined" fi + if test "x$TOOLCHAIN_TYPE" = xgcc; then + LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -pie" + fi fi AC_SUBST(LDFLAGS_JDKLIB) AC_SUBST(LDFLAGS_JDKEXE)