Don't use DWARF 4 on Solaris

* config/sol2.c (solaris_override_options): New function.
	* config/sol2-protos.h (solaris_override_options): Declare.
	* config/sol2.h (SUBTARGET_OVERRIDE_OPTIONS): Define.

From-SVN: r187230
This commit is contained in:
Rainer Orth 2012-05-07 11:07:31 +00:00 committed by Rainer Orth
parent 1e3733905b
commit fe551ce4b1
4 changed files with 25 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/sol2.c (solaris_override_options): New function.
* config/sol2-protos.h (solaris_override_options): Declare.
* config/sol2.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
2012-05-07 Richard Guenther <rguenther@suse.de> 2012-05-07 Richard Guenther <rguenther@suse.de>
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return

View File

@ -1,6 +1,6 @@
/* Operating system specific prototypes to be used when targeting GCC for any /* Operating system specific prototypes to be used when targeting GCC for any
Solaris 2 system. Solaris 2 system.
Copyright 2004, 2007, 2010, 2011 Free Software Foundation, Inc. Copyright 2004, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
@ -24,6 +24,7 @@ extern void solaris_elf_asm_comdat_section (const char *, unsigned int, tree);
extern void solaris_file_end (void); extern void solaris_file_end (void);
extern void solaris_insert_attributes (tree, tree *); extern void solaris_insert_attributes (tree, tree *);
extern void solaris_output_init_fini (FILE *, tree); extern void solaris_output_init_fini (FILE *, tree);
extern void solaris_override_options (void);
/* In sol2-c.c. */ /* In sol2-c.c. */
extern void solaris_register_pragmas (void); extern void solaris_register_pragmas (void);

View File

@ -1,5 +1,6 @@
/* General Solaris system support. /* General Solaris system support.
Copyright (C) 2004, 2005 , 2007, 2010, 2011 Free Software Foundation, Inc. Copyright (C) 2004, 2005 , 2007, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC. Contributed by CodeSourcery, LLC.
This file is part of GCC. This file is part of GCC.
@ -282,3 +283,12 @@ solaris_file_end (void)
htab_traverse (solaris_comdat_htab, solaris_define_comdat_signature, NULL); htab_traverse (solaris_comdat_htab, solaris_define_comdat_signature, NULL);
} }
void
solaris_override_options (void)
{
/* Don't emit DWARF3/4 unless specifically selected. Solaris ld cannot
handle CIE version 3 in .eh_frame. */
if (!global_options_set.x_dwarf_version)
dwarf_version = 2;
}

View File

@ -99,6 +99,12 @@ along with GCC; see the file COPYING3. If not see
TARGET_SUB_OS_CPP_BUILTINS(); \ TARGET_SUB_OS_CPP_BUILTINS(); \
} while (0) } while (0)
#define SUBTARGET_OVERRIDE_OPTIONS \
do { \
solaris_override_options (); \
} while (0)
/* It's safe to pass -s always, even if -g is not used. Those options are /* It's safe to pass -s always, even if -g is not used. Those options are
handled by both Sun as and GNU as. */ handled by both Sun as and GNU as. */
#define ASM_SPEC_BASE \ #define ASM_SPEC_BASE \