aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/i386.c6
-rw-r--r--gcc/config/i386/sol2-10.h9
3 files changed, 15 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9254a12..3595e5c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2010-10-18 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Define and
+ use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
+ default.
+ * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
+
2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 60b4dff..eada313 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -3272,6 +3272,10 @@ ix86_option_override_internal (bool main_args_p)
#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
in case they weren't overwritten by command line options. */
if (TARGET_64BIT)
@@ -3279,7 +3283,7 @@ ix86_option_override_internal (bool main_args_p)
if (optimize > 1 && !global_options_set.x_flag_zee)
flag_zee = 1;
if (optimize >= 1 && !global_options_set.x_flag_omit_frame_pointer)
- flag_omit_frame_pointer = 1;
+ flag_omit_frame_pointer = !USE_X86_64_FRAME_POINTER;
if (flag_asynchronous_unwind_tables == 2)
flag_asynchronous_unwind_tables = 1;
if (flag_pcc_struct_return == 2)
diff --git a/gcc/config/i386/sol2-10.h b/gcc/config/i386/sol2-10.h
index e972ece..04ae700 100644
--- a/gcc/config/i386/sol2-10.h
+++ b/gcc/config/i386/sol2-10.h
@@ -81,13 +81,8 @@ along with GCC; see the file COPYING3. If not see
#undef WINT_TYPE_SIZE
#define WINT_TYPE_SIZE 32
-#define SUBTARGET_OVERRIDE_OPTIONS \
- do \
- { \
- if (!global_options_set.x_flag_omit_frame_pointer) \
- flag_omit_frame_pointer = 0; \
- } \
- while (0)
+#define USE_IX86_FRAME_POINTER 1
+#define USE_X86_64_FRAME_POINTER 1
/* Override i386/sol2.h version: return 8-byte vectors in MMX registers if
possible, matching Sun Studio 12 Update 1+ compilers and other x86