From 9453e3cd0ffd0c377a648b83a9a5fdc5809e60d7 Mon Sep 17 00:00:00 2001 From: Andreas Schwab <schwab@suse.de> Date: Tue, 17 Jan 2023 16:47:13 +0100 Subject: [PATCH] lto-wrapper: Pass through -funwind-tables and -fasynchronous-unwind-tables The -funwind-tables and -fasynchronous-unwind-tables options are relevant for the output pass, so they need to be passed through by the LTO wrapper. Otherwise, dwarf2out_assembly_start may output a ".cfi_sections .debug_frame" directive when debug info is enabled even if every translation unit was compiled with -funwind-tables. gcc/ * lto-wrapper.cc (merge_and_complain): Handle -funwind-tables and -fasynchronous-unwind-tables. (append_compiler_options): Likewise. --- gcc/lto-wrapper.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/lto-wrapper.cc b/gcc/lto-wrapper.cc index 11c4d1b38a4f..fe8c5f6e80df 100644 --- a/gcc/lto-wrapper.cc +++ b/gcc/lto-wrapper.cc @@ -335,6 +335,8 @@ merge_and_complain (vec<cl_decoded_option> &decoded_options, case OPT_fopenmp: case OPT_fopenacc: + case OPT_fasynchronous_unwind_tables: + case OPT_funwind_tables: /* For selected options we can merge conservatively. */ if (existing_opt == -1) decoded_options.safe_push (*foption); @@ -737,6 +739,8 @@ append_compiler_options (obstack *argv_obstack, vec<cl_decoded_option> opts) case OPT_fopenacc_dim_: case OPT_foffload_abi_: case OPT_fcf_protection_: + case OPT_fasynchronous_unwind_tables: + case OPT_funwind_tables: case OPT_g: case OPT_O: case OPT_Ofast: -- GitLab