From 53e5c8fee65d80d63b464ec455cce4f24f27dbd4 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Thu, 21 Jan 2010 20:58:34 +0000 Subject: [PATCH] * config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only on 64-bit Solaris/x86. Include obj-format.h earlier. --- gas/ChangeLog | 6 ++++++ gas/config/te-solaris.h | 22 ++++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index ea20cf6116..78640a5457 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2010-01-21 Rainer Orth + + * config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only + on 64-bit Solaris/x86. + Include obj-format.h earlier. + 2010-01-21 Andreas Krebbel * config/tc-s390.c (s390_elf_final_processing): New function. diff --git a/gas/config/te-solaris.h b/gas/config/te-solaris.h index a3c2ceaf9e..9c628c2f57 100644 --- a/gas/config/te-solaris.h +++ b/gas/config/te-solaris.h @@ -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. @@ -22,9 +22,19 @@ #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 -- 2.34.1