2010-09-17 Tejas Belagod <tejas.belagod@arm.com>
[deliverable/binutils-gdb.git] / gas / config / te-solaris.h
index a3c2ceaf9e864783e3376aaf7d026fb80737d02f..9c628c2f5777a02ba5cde50e9f0e9db1afdead09 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright 2008 Free Software Foundation, Inc.
+/* Copyright 2008, 2010 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
 #define LOCAL_LABELS_DOLLAR 1
 #define LOCAL_LABELS_FB 1
 
-/* The Sun linker doesn't merge read-only and read-write sections into
-   a single read-write section so we must force all EH frame sections
-   to be read-write.  */
-#define DWARF2_EH_FRAME_READ_ONLY 0
-
 #include "obj-format.h"
+
+/* The Sun linker doesn't merge read-only and read-write sections into
+   a single section so we must force all EH frame sections to use the
+   same flags.  For SPARC and 32-bit i386 this is read-write, whilst
+   for x86_64 this is read-only, matching GCC behavior.
+
+   See the definition of EH_TABLES_CAN_BE_READ_ONLY in
+   gcc/config/i386/sol2.h in the GCC sources and the thread starting at
+   http://sourceware.org/ml/binutils/2010-01/msg00401.html.  */
+#ifdef TC_SPARC
+#define DWARF2_EH_FRAME_READ_ONLY SEC_NO_FLAGS
+#else
+#define DWARF2_EH_FRAME_READ_ONLY \
+  (bfd_get_arch_size (stdoutput) == 64 ? SEC_READONLY : SEC_NO_FLAGS)
+#endif
This page took 0.02455 seconds and 4 git commands to generate.