From: Uros Bizjak Date: Mon, 6 May 2019 14:58:57 +0000 (+0200) Subject: re PR target/89221 (--enable-frame-pointer does not work as intended) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fd661a34e53dd2b20ae5309b78960c171ff9a720;p=gcc.git re PR target/89221 (--enable-frame-pointer does not work as intended) PR target/89221 * config.gcc (i[34567]86-*-*, x86_64-*-*): Move tests for enable_cld and enable_frame_pointer ... * configure.ac: ... here. Update help strings for --enable-frame-pointer. * configure: Regenerate. * config/i386/i386-options.c (ix86_option_override_internal): Remove USE_X86_64_FRAME_POINTER define, use USE_IX86_FRAME_POINTER instead. * config/i386/sol2.h (USE_IX86_FRAME_POINTER): Remove. (USE_X86_64_FRAME_POINTER): Ditto. From-SVN: r270914 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f5b6ff3607..493e843417d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2019-05-06 Uroš Bizjak + + PR target/89221 + * config.gcc (i[34567]86-*-*, x86_64-*-*): Move tests for enable_cld + and enable_frame_pointer ... + * configure.ac: ... here. Update help strings for + --enable-frame-pointer. + * configure: Regenerate. + * config/i386/i386-options.c (ix86_option_override_internal): Remove + USE_X86_64_FRAME_POINTER define, use USE_IX86_FRAME_POINTER instead. + * config/i386/sol2.h (USE_IX86_FRAME_POINTER): Remove. + (USE_X86_64_FRAME_POINTER): Ditto. + 2019-05-06 Martin Liska * config.gcc: Append to target_gtfiles and fix indentation. diff --git a/gcc/config.gcc b/gcc/config.gcc index 6ac187ce0c1..baa156da4d2 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -607,12 +607,6 @@ i[34567]86-*-*) echo "This target does not support --with-abi." exit 1 fi - if test "x$enable_cld" = xyes; then - tm_defines="${tm_defines} USE_IX86_CLD=1" - fi - if test "x$enable_frame_pointer" = xyes; then - tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" - fi ;; x86_64-*-*) case ${with_abi} in @@ -633,12 +627,6 @@ x86_64-*-*) echo "Unknown ABI used in --with-abi=$with_abi" exit 1 esac - if test "x$enable_cld" = xyes; then - tm_defines="${tm_defines} USE_IX86_CLD=1" - fi - if test "x$enable_frame_pointer" = xyes; then - tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" - fi ;; arm*-*-*) tm_p_file="arm/arm-flags.h ${tm_p_file} arm/aarch-common-protos.h" diff --git a/gcc/config/i386/i386-options.c b/gcc/config/i386/i386-options.c index 4ec10efacfa..95a9ae3f79f 100644 --- a/gcc/config/i386/i386-options.c +++ b/gcc/config/i386/i386-options.c @@ -2196,10 +2196,6 @@ ix86_option_override_internal (bool main_args_p, #ifndef USE_IX86_FRAME_POINTER #define USE_IX86_FRAME_POINTER 0 -#endif - -#ifndef USE_X86_64_FRAME_POINTER -#define USE_X86_64_FRAME_POINTER 0 #endif /* Set the default values for switches whose default depends on TARGET_64BIT @@ -2207,7 +2203,7 @@ ix86_option_override_internal (bool main_args_p, if (TARGET_64BIT_P (opts->x_ix86_isa_flags)) { if (opts->x_optimize >= 1 && !opts_set->x_flag_omit_frame_pointer) - opts->x_flag_omit_frame_pointer = !USE_X86_64_FRAME_POINTER; + opts->x_flag_omit_frame_pointer = !USE_IX86_FRAME_POINTER; if (opts->x_flag_asynchronous_unwind_tables && !opts_set->x_flag_unwind_tables && TARGET_64BIT_MS_ABI) diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index 09e401cca20..5fc4cbcbb8c 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -248,9 +248,6 @@ along with GCC; see the file COPYING3. If not see #define ASAN_REJECT_SPEC \ DEF_ARCH64_SPEC("%e:-fsanitize=address is not supported in this configuration") -#define USE_IX86_FRAME_POINTER 1 -#define USE_X86_64_FRAME_POINTER 1 - #undef NO_PROFILE_COUNTERS #undef MCOUNT_NAME diff --git a/gcc/configure b/gcc/configure index 3dcf7752b7f..08cce6f1980 100755 --- a/gcc/configure +++ b/gcc/configure @@ -1688,8 +1688,7 @@ Optional Features: --enable-leading-mingw64-underscores enable leading underscores on 64 bit mingw targets --enable-cld enable -mcld by default for 32bit x86 - --enable-frame-pointer enable -fno-omit-frame-pointer by default for 32bit - x86 + --enable-frame-pointer enable -fno-omit-frame-pointer by default for x86 --disable-win32-registry disable lookup of installation paths in the Registry on Windows hosts @@ -12199,8 +12198,7 @@ else case $target_os in linux* | darwin[8912]*) - # Enable -fomit-frame-pointer by default for Linux and Darwin with - # DWARF2. + # Enable -fomit-frame-pointer by default for Linux and Darwin with DWARF2. enable_frame_pointer=no ;; *) @@ -12211,6 +12209,17 @@ esac fi +case $target in +i[34567]86-*-* | x86_64-*-*) + if test "x$enable_cld" = xyes; then + tm_defines="${tm_defines} USE_IX86_CLD=1" + fi + if test "x$enable_frame_pointer" = xyes; then + tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" + fi + ;; +esac + # Windows32 Registry support for specifying GCC installation paths. # Check whether --enable-win32-registry was given. if test "${enable_win32_registry+set}" = set; then : @@ -18646,7 +18655,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18649 "configure" +#line 18658 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18752,7 +18761,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18755 "configure" +#line 18764 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/gcc/configure.ac b/gcc/configure.ac index 51f520c1508..7c526b9ada4 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1881,12 +1881,11 @@ AC_ARG_ENABLE(cld, AC_ARG_ENABLE(frame-pointer, [AS_HELP_STRING([--enable-frame-pointer], - [enable -fno-omit-frame-pointer by default for 32bit x86])], [], + [enable -fno-omit-frame-pointer by default for x86])], [], [ case $target_os in linux* | darwin[[8912]]*) - # Enable -fomit-frame-pointer by default for Linux and Darwin with - # DWARF2. + # Enable -fomit-frame-pointer by default for Linux and Darwin with DWARF2. enable_frame_pointer=no ;; *) @@ -1895,6 +1894,17 @@ linux* | darwin[[8912]]*) esac ]) +case $target in +i[[34567]]86-*-* | x86_64-*-*) + if test "x$enable_cld" = xyes; then + tm_defines="${tm_defines} USE_IX86_CLD=1" + fi + if test "x$enable_frame_pointer" = xyes; then + tm_defines="${tm_defines} USE_IX86_FRAME_POINTER=1" + fi + ;; +esac + # Windows32 Registry support for specifying GCC installation paths. AC_ARG_ENABLE(win32-registry, [AS_HELP_STRING([--disable-win32-registry],