From 7b2372d922b6f76eac6166b270e421ce21eb583c Mon Sep 17 00:00:00 2001 From: Stan H Date: Tue, 4 Apr 2023 09:33:02 +0200 Subject: [PATCH] rename debug_line fix flag and revert behavior --- gcc/dwarf2out.c | 25 ++++++++++++++----------- gcc/flags.h | 6 +++--- gcc/toplev.c | 6 +++--- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 98e7e7b..6b8cedf 100755 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -4323,10 +4323,10 @@ output_line_info () ASM_GENERATE_INTERNAL_LABEL (p1, LN_PROLOG_AS_LABEL, 0); ASM_GENERATE_INTERNAL_LABEL (p2, LN_PROLOG_END_LABEL, 0); - if (flag_legacy_debug_info) - ASM_OUTPUT_DWARF_DATA (asm_out_file, size_of_line_info ()); - else + if (flag_fixed_debug_line_info) ASM_OUTPUT_DWARF_DELTA (asm_out_file, l2, l1); + else + ASM_OUTPUT_DWARF_DATA (asm_out_file, size_of_line_info ()); if (flag_debug_asm) fprintf (asm_out_file, "\t%s Length of Source Line Info.", @@ -4334,7 +4334,8 @@ output_line_info () fputc ('\n', asm_out_file); - if (!flag_legacy_debug_info) + if (flag_fixed_debug_line_info) + /* start of .debug_line */ ASM_OUTPUT_LABEL(asm_out_file, l1); ASM_OUTPUT_DWARF_DATA2 (asm_out_file, DWARF_VERSION); @@ -4343,17 +4344,18 @@ output_line_info () fputc ('\n', asm_out_file); - if (flag_legacy_debug_info) - ASM_OUTPUT_DWARF_DATA (asm_out_file, size_of_line_prolog ()); - else + if (flag_fixed_debug_line_info) ASM_OUTPUT_DWARF_DELTA (asm_out_file, p2, p1); + else + ASM_OUTPUT_DWARF_DATA (asm_out_file, size_of_line_prolog ()); if (flag_debug_asm) fprintf (asm_out_file, "\t%s Prolog Length", ASM_COMMENT_START); fputc ('\n', asm_out_file); - if (!flag_legacy_debug_info) + if (flag_fixed_debug_line_info) + /* start of .debug_line prologue */ ASM_OUTPUT_LABEL(asm_out_file, p1); ASM_OUTPUT_DWARF_DATA1 (asm_out_file, DWARF_LINE_MIN_INSTR_LENGTH); @@ -4450,7 +4452,8 @@ output_line_info () ASM_OUTPUT_DWARF_DATA1 (asm_out_file, 0); fputc ('\n', asm_out_file); - if (!flag_legacy_debug_info) + if (flag_fixed_debug_line_info) + /* end of .debug_line prologue */ ASM_OUTPUT_LABEL (asm_out_file, p2); /* Set the address register to the first location in the text section */ @@ -4769,8 +4772,8 @@ output_line_info () } } - if (!flag_legacy_debug_info) - /* Output the marker for the end of the line number info. */ + if (flag_fixed_debug_line_info) + /* end of .debug_line */ ASM_OUTPUT_LABEL (asm_out_file, l2); } diff --git a/gcc/flags.h b/gcc/flags.h index cf2931f..52f5228 100755 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -451,6 +451,6 @@ extern enum graph_dump_types graph_dump_format; /* Nonzero if ASM output should use hex instead of decimal. */ extern int flag_hex_asm; -/* Nonzero if generated DWARF debug info should match (buggy) original - GCC 2.95.x behavior. */ -extern int flag_legacy_debug_info; +/* Nonzero if generated DWARF debug info should be corrected rather than + match the original (buggy) GCC 2.95.x output. */ +extern int flag_fixed_debug_line_info; diff --git a/gcc/toplev.c b/gcc/toplev.c index b748a1a..72b35a8 100755 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -586,7 +586,7 @@ int flag_instrument_function_entry_exit = 0; int flag_hex_asm = 0; /* Use old (buggy) DWARF line info generator. */ -int flag_legacy_debug_info = 0; +int flag_fixed_debug_line_info = 0; typedef struct { @@ -727,8 +727,8 @@ lang_independent_options f_options[] = "Instrument function entry/exit with profiling calls"}, {"hex-asm", &flag_hex_asm, 1, "Use hex instead of decimal in assembly output"}, - {"legacy-debug-line-info", &flag_legacy_debug_info, 1, - "Generate old (buggy) DWARF line info"}, + {"fix-debug-line", &flag_fixed_debug_line_info, 1, + "Generate fixed DWARF line info"}, }; #define NUM_ELEM(a) (sizeof (a) / sizeof ((a)[0]))