aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-04-21 08:57:37 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2010-04-21 08:57:37 +0200
commit8f65940dd1ba4a5d305a9efa4d44a5af15518af1 (patch)
tree17be69b1e08b391d9bba647e830f604c506db243 /gcc/dwarf2out.c
parentd64427ff33f0521b2af8636a74422d52392141e3 (diff)
downloadgcc-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.c5
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");