From b0cd3f29e81829190c814aa80e4fee32caa8360b Mon Sep 17 00:00:00 2001 From: Indu Bhagat Date: Mon, 15 Jan 2024 00:59:15 -0800 Subject: [PATCH] gas: dw2gencfi: minor rejig for cfi_sections_set and all_cfi_sections cfi_sections_set is best set to true in cfi_dot_startproc (). Setting it to true again in other APIs (dot_cfi_endproc, dot_cfi_fde_data, and cfi_finish) is unnecessary. Also, move setting the global var all_cfi_sections into cfi_set_sections (). gas/ * dw2gencfi.c (cfi_set_sections): Set cfi_sections_set and cfi_sections here. (dot_cfi_startproc): Remove unnecessarily setting cfi_set_sections to true. (dot_cfi_endproc): Likewise. (dot_cfi_fde_data): Likewise. (cfi_finish): Likewise. --- gas/dw2gencfi.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 3afb20b11a8..01cde827f63 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -492,6 +492,7 @@ cfi_set_return_column (unsigned regno) void cfi_set_sections (void) { + all_cfi_sections |= cfi_sections; frchain_now->frch_cfi_data->cur_fde_data->sections = all_cfi_sections; cfi_sections_set = true; } @@ -1309,9 +1310,8 @@ dot_cfi_startproc (int ignored ATTRIBUTE_UNUSED) } demand_empty_rest_of_line (); - cfi_sections_set = true; - all_cfi_sections |= cfi_sections; cfi_set_sections (); + frchain_now->frch_cfi_data->cur_cfa_offset = 0; if (!simple) tc_cfi_frame_initial_instructions (); @@ -1336,7 +1336,6 @@ dot_cfi_endproc (int ignored ATTRIBUTE_UNUSED) demand_empty_rest_of_line (); - cfi_sections_set = true; if ((cfi_sections & CFI_EMIT_target) != 0) tc_cfi_endproc (last_fde); } @@ -1418,7 +1417,6 @@ dot_cfi_fde_data (int ignored ATTRIBUTE_UNUSED) last_fde = frchain_now->frch_cfi_data->cur_fde_data; - cfi_sections_set = true; if ((cfi_sections & CFI_EMIT_target) != 0 || (cfi_sections & CFI_EMIT_eh_frame_compact) != 0) { @@ -2315,7 +2313,6 @@ cfi_finish (void) if (all_fde_data == 0) return; - cfi_sections_set = true; if ((all_cfi_sections & CFI_EMIT_eh_frame) != 0 || (all_cfi_sections & CFI_EMIT_eh_frame_compact) != 0) { @@ -2502,7 +2499,6 @@ cfi_finish (void) flag_traditional_format = save_flag_traditional_format; } - cfi_sections_set = true; /* Generate SFrame section if the user specifies: - the command line option to gas, or - .sframe in the .cfi_sections directive. */ @@ -2524,7 +2520,6 @@ cfi_finish (void) as_bad (_(".sframe not supported for target")); } - cfi_sections_set = true; if ((all_cfi_sections & CFI_EMIT_debug_frame) != 0) { int alignment = ffs (DWARF2_ADDR_SIZE (stdoutput)) - 1;