This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [libitm] Check if GCC uses assembler cfi support
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 08 Apr 2014 11:17:50 +0200
- Subject: Re: [libitm] Check if GCC uses assembler cfi support
- Authentication-results: sourceware.org; auth=none
- References: <yddfvlp2x27 dot fsf at lokon dot CeBiTec dot Uni-Bielefeld dot DE> <5342BE10 dot 7020207 at redhat dot com>
Richard Henderson <rth@redhat.com> writes:
> On 04/07/2014 04:33 AM, Rainer Orth wrote:
>> The patch allowed i386-pc-solaris2.11 bootstraps to finish without
>> regressions on trunk and 4.8 branch, still need to test 4.7 branch.
>>
>> Ok for trunk, 4.8 and 4.7 branches once testing completes?
>>
>> Rainer
>>
>>
>> 2014-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
>>
>> * config/generic/asmcfi.h: Also check for
>> __GCC_HAVE_DWARF2_CFI_ASM.
>
> Looks fine.
Testing was fine on i386-pc-solaris2.11 with /bin/as on trunk, 4.8 and
4.7 branches, as well as x86_64-unknown-linux-gnu.
However, i386-pc-solaris2.11 with gas was confusing at first: for the
32-bit PIC case, no .eh_frame was generated. It turned out this happens
because in this case config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT)
is a lie: it claims datarel encoding for the 32-bit PIC case. This way,
dwarf2out_do_cfi_asm returns false and c-family/c-cppbuiltin.c
(c_cpp_builtins) doesn't define __GCC_HAVE_DWARF2_CFI_ASM.
In fact, gas with cfi directives uses pcrel encoding, thus
__GCC_HAVE_DWARF2_CFI_ASM should be defined.
ISTM that the ASM_PREFERRED_EH_DATA_FORMAT redefinition above should be
wrapped in HAVE_AS_IX86_DIFF_SECT_DELTA, but I'm quite reluctant to make
such a change so late in the 4.9 release cycle.
I'll certainly try it post-4.9, especially given that Solaris 9 support
will be removed by then and current Solaris 10 and 11 assemblers *can*
subtract symbols in different sections.
Unless I'm missing something, I'm thus going to check in the patch as is
within a day. I believe that losing unwind info in a single case here
is worth avoiding the bootstrap failure.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University