diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-04-21 08:57:37 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-04-21 08:57:37 +0200 |
commit | 8f65940dd1ba4a5d305a9efa4d44a5af15518af1 (patch) | |
tree | 17be69b1e08b391d9bba647e830f604c506db243 /gcc/dwarf2out.c | |
parent | d64427ff33f0521b2af8636a74422d52392141e3 (diff) | |
download | gcc-8f65940dd1ba4a5d305a9efa4d44a5af15518af1.zip gcc-8f65940dd1ba4a5d305a9efa4d44a5af15518af1.tar.gz gcc-8f65940dd1ba4a5d305a9efa4d44a5af15518af1.tar.bz2 |
dwarf2out.c (output_call_frame_info): For dw_cie_version >= 4 add also address size and segment size fields into CIE...
* dwarf2out.c (output_call_frame_info): For dw_cie_version
>= 4 add also address size and segment size fields into CIE
header.
* unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
long as address size is the same as sizeof (void *) and
segment size is 0.
* unwind-dw2-fde.c (get_cie_encoding): Likewise. If
address size or segment size is unexpected, return DW_EH_PE_omit.
(classify_object_over_fdes): If get_cie_encoding returned
DW_EH_PE_omit, return -1.
(init_object): If classify_object_over_fdes returned -1,
pretend there were no FDEs at all.
From-SVN: r158589
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index cfacf96..21a3f75 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -3771,6 +3771,11 @@ output_call_frame_info (int for_eh) } dw2_asm_output_nstring (augmentation, -1, "CIE Augmentation"); + if (dw_cie_version >= 4) + { + dw2_asm_output_data (1, DWARF2_ADDR_SIZE, "CIE Address Size"); + dw2_asm_output_data (1, 0, "CIE Segment Size"); + } dw2_asm_output_data_uleb128 (1, "CIE Code Alignment Factor"); dw2_asm_output_data_sleb128 (DWARF_CIE_DATA_ALIGNMENT, "CIE Data Alignment Factor"); |