diff options
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 | ||||
-rw-r--r-- | gcc/config/i386/sol2-10.h | 9 |
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 |