< prev index next >

common/autoconf/flags.m4

Print this page
rev 1233 : 8065648: Remove the flag -fsanitize=undefined for GCC 4.9 and later


 331   elif test "x$TOOLCHAIN_TYPE" = xxlc; then
 332     CFLAGS_DEBUG_SYMBOLS="-g"
 333     CXXFLAGS_DEBUG_SYMBOLS="-g"
 334   fi
 335   AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
 336   AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
 337 
 338   # bounds, memory and behavior checking options
 339   if test "x$TOOLCHAIN_TYPE" = xgcc; then
 340     case $DEBUG_LEVEL in
 341     release )
 342       # no adjustment
 343       ;;
 344     fastdebug )
 345       # no adjustment
 346       ;;
 347     slowdebug )
 348       # Add runtime stack smashing and undefined behavior checks
 349       CFLAGS_DEBUG_OPTIONS="-fstack-protector-all --param ssp-buffer-size=1"
 350       CXXFLAGS_DEBUG_OPTIONS="-fstack-protector-all --param ssp-buffer-size=1"
 351       if test "x$HAS_CFLAG_DETECT_UNDEFINED_BEHAVIOR" = "xtrue"; then
 352         CFLAGS_DEBUG_OPTIONS="$CFLAGS_DEBUG_OPTIONS  $CFLAG_DETECT_UNDEFINED_BEHAVIOR_FLAG"
 353         CXXFLAGS_DEBUG_OPTIONS="$CXXFLAGS_DEBUG_OPTIONS $CFLAG_DETECT_UNDEFINED_BEHAVIsOR_FLAG"
 354       fi
 355       ;;
 356     esac
 357   fi
 358   AC_SUBST(CFLAGS_DEBUG_OPTIONS)
 359   AC_SUBST(CXXFLAGS_DEBUG_OPTIONS)
 360 
 361   # Optimization levels
 362   if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
 363     CC_HIGHEST="$CC_HIGHEST -fns -fsimple -fsingle -xbuiltin=%all -xdepend -xrestrict -xlibmil"
 364 
 365     if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86"; then
 366       # FIXME: seems we always set -xregs=no%frameptr; put it elsewhere more global?
 367       C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xalias_level=basic -xregs=no%frameptr"
 368       C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
 369       C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
 370       C_O_FLAG_DEBUG="-xregs=no%frameptr"
 371       C_O_FLAG_NONE="-xregs=no%frameptr"
 372       CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
 373       CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
 374       CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"


 727             # mark relocations read only
 728             LDFLAGS_JDK="$LDFLAGS_JDK $LINKER_RELRO_FLAG"
 729             LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK $LINKER_RELRO_FLAG"
 730           fi
 731           ;;
 732         fastdebug )
 733           if test "x$HAS_LINKER_RELRO" = "xtrue"; then
 734             # mark relocations read only
 735             LDFLAGS_JDK="$LDFLAGS_JDK $LINKER_RELRO_FLAG"
 736             LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK $LINKER_RELRO_FLAG"
 737           fi
 738           ;;
 739         * )
 740           AC_MSG_ERROR([Unrecognized \$DEBUG_LEVEL: $DEBUG_LEVEL])
 741           ;;
 742         esac
 743     fi
 744   elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
 745     LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
 746     LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
 747   fi
 748 
 749   if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
 750     # If undefined behaviour detection is enabled then we need to tell linker.
 751     case $DEBUG_LEVEL in
 752       release | fastdebug )
 753         ;;
 754       slowdebug )
 755         AC_MSG_WARN([$HAS_CFLAG_DETECT_UNDEFINED_BEHAVIOR])
 756         if test "x$HAS_CFLAG_DETECT_UNDEFINED_BEHAVIOR" = "xtrue"; then
 757           # enable undefined behaviour checking
 758           LDFLAGS_JDK="$LDFLAGS_JDK `$ECHO -n $CFLAG_DETECT_UNDEFINED_BEHAVIOR_FLAG | sed -e "s/[ ]*\([^ ]\+\)/ -Xlinker \1/g"`"
 759           LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK `$ECHO -n $CFLAG_DETECT_UNDEFINED_BEHAVIOR_FLAG | sed -e "s/[ ]*\([^ ]\+\)/ -Xlinker \1/g"`"
 760         fi
 761         ;;
 762       * )
 763         AC_MSG_ERROR([Unrecognized \$DEBUG_LEVEL: $DEBUG_LEVEL])
 764         ;;
 765     esac
 766   fi
 767 
 768   # Customize LDFLAGS for executables
 769 
 770   LDFLAGS_JDKEXE="${LDFLAGS_JDK}"
 771 
 772   if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
 773     if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
 774       LDFLAGS_STACK_SIZE=1048576
 775     else
 776       LDFLAGS_STACK_SIZE=327680
 777     fi
 778     LDFLAGS_JDKEXE="${LDFLAGS_JDKEXE} /STACK:$LDFLAGS_STACK_SIZE"
 779   elif test "x$OPENJDK_TARGET_OS" = xlinux; then
 780     LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
 781   fi
 782 
 783   # Customize LDFLAGS for libs
 784   LDFLAGS_JDKLIB="${LDFLAGS_JDK}"
 785 




 331   elif test "x$TOOLCHAIN_TYPE" = xxlc; then
 332     CFLAGS_DEBUG_SYMBOLS="-g"
 333     CXXFLAGS_DEBUG_SYMBOLS="-g"
 334   fi
 335   AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
 336   AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
 337 
 338   # bounds, memory and behavior checking options
 339   if test "x$TOOLCHAIN_TYPE" = xgcc; then
 340     case $DEBUG_LEVEL in
 341     release )
 342       # no adjustment
 343       ;;
 344     fastdebug )
 345       # no adjustment
 346       ;;
 347     slowdebug )
 348       # Add runtime stack smashing and undefined behavior checks
 349       CFLAGS_DEBUG_OPTIONS="-fstack-protector-all --param ssp-buffer-size=1"
 350       CXXFLAGS_DEBUG_OPTIONS="-fstack-protector-all --param ssp-buffer-size=1"




 351       ;;
 352     esac
 353   fi
 354   AC_SUBST(CFLAGS_DEBUG_OPTIONS)
 355   AC_SUBST(CXXFLAGS_DEBUG_OPTIONS)
 356 
 357   # Optimization levels
 358   if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
 359     CC_HIGHEST="$CC_HIGHEST -fns -fsimple -fsingle -xbuiltin=%all -xdepend -xrestrict -xlibmil"
 360 
 361     if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86"; then
 362       # FIXME: seems we always set -xregs=no%frameptr; put it elsewhere more global?
 363       C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xalias_level=basic -xregs=no%frameptr"
 364       C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
 365       C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
 366       C_O_FLAG_DEBUG="-xregs=no%frameptr"
 367       C_O_FLAG_NONE="-xregs=no%frameptr"
 368       CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
 369       CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
 370       CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"


 723             # mark relocations read only
 724             LDFLAGS_JDK="$LDFLAGS_JDK $LINKER_RELRO_FLAG"
 725             LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK $LINKER_RELRO_FLAG"
 726           fi
 727           ;;
 728         fastdebug )
 729           if test "x$HAS_LINKER_RELRO" = "xtrue"; then
 730             # mark relocations read only
 731             LDFLAGS_JDK="$LDFLAGS_JDK $LINKER_RELRO_FLAG"
 732             LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK $LINKER_RELRO_FLAG"
 733           fi
 734           ;;
 735         * )
 736           AC_MSG_ERROR([Unrecognized \$DEBUG_LEVEL: $DEBUG_LEVEL])
 737           ;;
 738         esac
 739     fi
 740   elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
 741     LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
 742     LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"



















 743   fi
 744 
 745   # Customize LDFLAGS for executables
 746 
 747   LDFLAGS_JDKEXE="${LDFLAGS_JDK}"
 748 
 749   if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
 750     if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
 751       LDFLAGS_STACK_SIZE=1048576
 752     else
 753       LDFLAGS_STACK_SIZE=327680
 754     fi
 755     LDFLAGS_JDKEXE="${LDFLAGS_JDKEXE} /STACK:$LDFLAGS_STACK_SIZE"
 756   elif test "x$OPENJDK_TARGET_OS" = xlinux; then
 757     LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
 758   fi
 759 
 760   # Customize LDFLAGS for libs
 761   LDFLAGS_JDKLIB="${LDFLAGS_JDK}"
 762 


< prev index next >