diff options
author | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | 2010-01-21 20:58:34 +0000 |
---|---|---|
committer | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | 2010-01-21 20:58:34 +0000 |
commit | 53e5c8fee65d80d63b464ec455cce4f24f27dbd4 (patch) | |
tree | 6bddf6c6e52c63c026ede781162b93b7dd5647e0 /gas | |
parent | 18f5de3bf843256607810db3753335f995bbcc97 (diff) | |
download | gdb-53e5c8fee65d80d63b464ec455cce4f24f27dbd4.zip gdb-53e5c8fee65d80d63b464ec455cce4f24f27dbd4.tar.gz gdb-53e5c8fee65d80d63b464ec455cce4f24f27dbd4.tar.bz2 |
* config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only
on 64-bit Solaris/x86.
Include obj-format.h earlier.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/te-solaris.h | 22 |
2 files changed, 22 insertions, 6 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index ea20cf6..78640a5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2010-01-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * 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 <Andreas.Krebbel@de.ibm.com> * 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 a3c2cea..9c628c2 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 |