Only redefine ASM_PREFERRED_EH_DATA_FORMAT if necessary on Solaris/x86
Rainer Orth
ro@CeBiTec.Uni-Bielefeld.DE
Thu Apr 24 08:51:00 GMT 2014
Currently, Solaris/x86 uses a private version of
ASM_PREFERRED_EH_DATA_FORMAT since older versions of the Solaris
assembler couldn't calculate the difference between labels in different
sections. This restriction has been lifted in Solaris 10 patch
119961-07 from May 2010. Since the redefinition causes us to lose
several cases in the i386 default (asm_preferred_eh_data_format) and the
unwinder can easily deal with different encodings, it's best to avoid
the redefinition if possible.
The following patch does just that. I chose to only test for
!HAVE_AS_IX86_DIFF_SECT_DELTA to enable the redef, not also
HAVE_GAS_CFI_DIRECTIVE, to allow for the (admittedly unlikely) case the
the assembler supports cfi directives, but not inter-section label
diffs. In this scenario, -fno-dwarf2-cfi-asm would be broken.
Tested on i386-pc-solaris2.1[10] with all different as/ld combos,
installed on mainline.
Rainer
2014-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
if not HAVE_AS_IX86_DIFF_SECT_DELTA.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: solx86-asm_preferred_eh_data_format.patch
Type: text/x-patch
Size: 1056 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140424/70776dec/attachment.bin>
-------------- next part --------------
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
More information about the Gcc-patches
mailing list