From 27179d4f08ce33858679fa352d58c5712447e0a0 Mon Sep 17 00:00:00 2001 From: ro Date: Thu, 24 Apr 2014 08:48:34 +0000 Subject: [PATCH] Only redefine ASM_PREFERRED_EH_DATA_FORMAT if necessary on Solaris/x86 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine if not HAVE_AS_IX86_DIFF_SECT_DELTA. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209740 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/sol2.h | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2afb950bdd9..21a5b3e3f1c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2014-04-24 Rainer Orth + * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine + if not HAVE_AS_IX86_DIFF_SECT_DELTA. + +2014-04-24 Rainer Orth + * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86 assembler 64-bit option. * configure: Regenerate. diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index 8a21a59109d..6676941f67a 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -26,13 +26,15 @@ along with GCC; see the file COPYING3. If not see (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_VECT8_RETURNS) /* Old versions of the Solaris assembler can not handle the difference of - labels in different sections, so force DW_EH_PE_datarel. */ + labels in different sections, so force DW_EH_PE_datarel if so. */ +#ifndef HAVE_AS_IX86_DIFF_SECT_DELTA #undef ASM_PREFERRED_EH_DATA_FORMAT #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ (flag_pic ? ((GLOBAL ? DW_EH_PE_indirect : 0) \ | (TARGET_64BIT ? DW_EH_PE_pcrel | DW_EH_PE_sdata4 \ : DW_EH_PE_datarel)) \ : DW_EH_PE_absptr) +#endif /* The Solaris linker will not merge a read-only .eh_frame section with a read-write .eh_frame section. None of the encodings used -- 2.11.4.GIT