386 elif test "x$TOOLCHAIN_TYPE" = xxlc; then |
386 elif test "x$TOOLCHAIN_TYPE" = xxlc; then |
387 LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall" |
387 LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall" |
388 CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" |
388 CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" |
389 CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" |
389 CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" |
390 elif test "x$TOOLCHAIN_TYPE" = xgcc; then |
390 elif test "x$TOOLCHAIN_TYPE" = xgcc; then |
391 case $OPENJDK_TARGET_CPU_ARCH in |
391 LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector" |
392 x86 ) |
392 LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector" |
393 LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector" |
|
394 LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector" |
|
395 ;; |
|
396 x86_64 ) |
|
397 LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS -fstack-protector" |
|
398 LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS -fstack-protector" |
|
399 ;; |
|
400 esac |
|
401 if test "x$OPENJDK_TARGET_OS" != xmacosx; then |
393 if test "x$OPENJDK_TARGET_OS" != xmacosx; then |
402 LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,relro" |
394 LDFLAGS_JDK="$LDFLAGS_JDK -Wl,-z,relro" |
403 LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS -Wl,-z,relro" |
395 LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS -Wl,-z,relro" |
404 fi |
396 fi |
405 $2CXXSTD_CXXFLAG="-std=gnu++98" |
397 $2CXXSTD_CXXFLAG="-std=gnu++98" |
454 # Setup compiler/platform specific flags to CFLAGS_JDK, |
446 # Setup compiler/platform specific flags to CFLAGS_JDK, |
455 # CXXFLAGS_JDK and CCXXFLAGS_JDK (common to C and CXX?) |
447 # CXXFLAGS_JDK and CCXXFLAGS_JDK (common to C and CXX?) |
456 if test "x$TOOLCHAIN_TYPE" = xgcc; then |
448 if test "x$TOOLCHAIN_TYPE" = xgcc; then |
457 # these options are used for both C and C++ compiles |
449 # these options are used for both C and C++ compiles |
458 CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \ |
450 CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \ |
459 -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" |
451 -pipe -fstack-protector -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" |
460 case $OPENJDK_TARGET_CPU_ARCH in |
452 case $OPENJDK_TARGET_CPU_ARCH in |
461 arm ) |
453 arm ) |
462 # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing |
454 # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing |
463 CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing" |
455 CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing" |
464 ;; |
456 ;; |
465 ppc ) |
457 ppc ) |
466 # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing |
458 # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing |
467 ;; |
|
468 x86 ) |
|
469 CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer -fstack-protector" |
|
470 CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing -fstack-protector" |
|
471 ;; |
459 ;; |
472 * ) |
460 * ) |
473 CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer" |
461 CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer" |
474 CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing" |
462 CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing" |
475 ;; |
463 ;; |