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
|