# HG changeset patch
# Parent 9ee70e3b93194a9a802f878a7502ae5e5519c180
Don't use DWARF 4 on Solaris
@@ -1,6 +1,6 @@
/* Operating system specific prototypes to be used when targeting GCC for any
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.
@@ -24,6 +24,7 @@ extern void solaris_elf_asm_comdat_secti
extern void solaris_file_end (void);
extern void solaris_insert_attributes (tree, tree *);
extern void solaris_output_init_fini (FILE *, tree);
+extern void solaris_override_options (void);
/* In sol2-c.c. */
extern void solaris_register_pragmas (void);
@@ -1,5 +1,6 @@
/* 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.
This file is part of GCC.
@@ -282,3 +283,12 @@ solaris_file_end (void)
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;
+}
@@ -99,6 +99,12 @@ along with GCC; see the file COPYING3.
TARGET_SUB_OS_CPP_BUILTINS(); \
} 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
handled by both Sun as and GNU as. */
#define ASM_SPEC_BASE \