re PR target/89221 (--enable-frame-pointer does not work as intended)
authorUros Bizjak <ubizjak@gmail.com>
Mon, 6 May 2019 14:58:57 +0000 (16:58 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 6 May 2019 14:58:57 +0000 (16:58 +0200)
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

gcc/ChangeLog
gcc/config.gcc
gcc/config/i386/i386-options.c
gcc/config/i386/sol2.h
gcc/configure
gcc/configure.ac

index 9f5b6ff360727fe92b08fe6652ffaf5d78423044..493e843417d217f0714f87b5815ce6caa2806489 100644 (file)
@@ -1,3 +1,16 @@
+2019-05-06  Uroš Bizjak  <ubizjak@gmail.com>
+
+       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  <mliska@suse.cz>
 
        * config.gcc: Append to target_gtfiles and fix indentation.
index 6ac187ce0c15d50474d60afb402438216169d598..baa156da4d2a1b103f7f928ba4192a4bc4d5da3e 100644 (file)
@@ -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"
index 4ec10efacfabb5eca1455bf6f422b250a41b2259..95a9ae3f79f2542bac41bc28be75319f67d10d58 100644 (file)
@@ -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)
index 09e401cca20cb206cd21dfcf11fac1d5f866731f..5fc4cbcbb8c9aa2f28ce230474b0a815da8ccbf5 100644 (file)
@@ -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
index 3dcf7752b7f449e42128a468302842308cf13f01..08cce6f1980cda3eeed0ba5914f159bff427fd2e 100755 (executable)
@@ -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
index 51f520c150842183d7a584acdf37a68701237364..7c526b9ada40acdd65ecf7c238cb095613bd7292 100644 (file)
@@ -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],