[PATCH, RFC 1/9] gas: dw2gencfi: minor rejig for cfi_sections_set and all_cfi_sections
Indu Bhagat
indu.bhagat@oracle.com
Wed Sep 20 23:03:53 GMT 2023
- 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.
- 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 f57479457c4..cbfee0a0169 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;
--
2.41.0
More information about the Binutils
mailing list