From 4a53066d0e9be7ef045dabbe497eeeca0ce2c7fc Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 8 Dec 2017 09:33:08 +0000 Subject: [PATCH] re PR bootstrap/81470 (Bootstrap comparison failures in gcc/ada) 2017-06-08 Tristan Gingold PR ada/81470 * dwarf2out.c (dwarf2out_do_cfi_startproc): Only emit .cfi_personality or .cfi_lsda if the eh data format is dwarf2. From-SVN: r255501 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4112576523c..e34e1829f37 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-06-08 Tristan Gingold + + PR ada/81470 + * dwarf2out.c (dwarf2out_do_cfi_startproc): Only emit + .cfi_personality or .cfi_lsda if the eh data format is dwarf2. + 2017-12-08 Rainer Orth * config/sol2.h (SOLARIS_ATTRIBUTE_TABLE): Initialize new member diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index ae3d962526c..876e53f234f 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -963,10 +963,16 @@ dwarf2out_do_cfi_startproc (bool second) { int enc; rtx ref; - rtx personality = get_personality_function (current_function_decl); fprintf (asm_out_file, "\t.cfi_startproc\n"); + /* .cfi_personality and .cfi_lsda are only relevant to DWARF2 + eh unwinders. */ + if (targetm_common.except_unwind_info (&global_options) != UI_DWARF2) + return; + + rtx personality = get_personality_function (current_function_decl); + if (personality) { enc = ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/2, /*global=*/1); -- 2.30.2