diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2017-11-13 17:26:41 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2017-11-13 17:26:41 +0000 |
commit | 2f02b2c29168b6db2a25deb8073557330f652508 (patch) | |
tree | 7258aea2ab239cf5e6c08384f4eb1d2d0464e1a8 /gcc/dwarf2out.c | |
parent | 41f0e8194de366399afb726a6862843d81f896a3 (diff) | |
download | gcc-2f02b2c29168b6db2a25deb8073557330f652508.zip gcc-2f02b2c29168b6db2a25deb8073557330f652508.tar.gz gcc-2f02b2c29168b6db2a25deb8073557330f652508.tar.bz2 |
re PR lto/81351 (Many LTO testcases FAIL)
PR lto/81351
* debug.h (dwarf2out_do_eh_frame): Declare.
* dwarf2cfi.c (dwarf2out_do_eh_frame): New predicate.
(dwarf2out_do_frame): Use it.
(dwarf2out_do_cfi_asm): Likewise.
* dwarf2out.c (dwarf2out_frame_finish): Likewise.
(dwarf2out_assembly_start): Likewise.
(dwarf2out_begin_prologue): Fix comment.
* toplev.c (compile_file): Always call dwarf2out_frame_finish
if the target needs either debug or unwind DWARF2 info.
* lto-opts.c (lto_write_options): Do not save -fexceptions,
-fnon-call-exceptions, -ffp-contract, -fmath-errno, -fsigned-zeros,
-ftrapping-math, -ftrapv and -fwrapv.
From-SVN: r254697
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index b8f4e48..df85467 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -263,7 +263,6 @@ static GTY(()) int dw2_string_counter; static GTY(()) bool have_multiple_function_sections = false; /* Whether the default text and cold text sections have been used at all. */ - static GTY(()) bool text_section_used = false; static GTY(()) bool cold_text_section_used = false; @@ -1060,7 +1059,7 @@ dwarf2out_begin_prologue (unsigned int line ATTRIBUTE_UNUSED, dup_label = xstrdup (label); current_function_func_begin_label = dup_label; - /* We can elide the fde allocation if we're not emitting debug info. */ + /* We can elide FDE allocation if we're not emitting frame unwind info. */ if (!do_frame) return; @@ -1180,8 +1179,7 @@ dwarf2out_frame_finish (void) output_call_frame_info (0); /* Output another copy for the unwinder. */ - if ((flag_unwind_tables || flag_exceptions) - && targetm_common.except_unwind_info (&global_options) == UI_DWARF2) + if (dwarf2out_do_eh_frame ()) output_call_frame_info (1); } @@ -27522,8 +27520,7 @@ dwarf2out_assembly_start (void) if (HAVE_GAS_CFI_SECTIONS_DIRECTIVE && dwarf2out_do_cfi_asm () - && (!(flag_unwind_tables || flag_exceptions) - || targetm_common.except_unwind_info (&global_options) != UI_DWARF2)) + && !dwarf2out_do_eh_frame ()) fprintf (asm_out_file, "\t.cfi_sections\t.debug_frame\n"); } |