aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2023-01-17 16:47:13 +0100
committerAndreas Schwab <schwab@suse.de>2023-02-09 09:57:44 +0100
commit9453e3cd0ffd0c377a648b83a9a5fdc5809e60d7 (patch)
tree86ece4f22c3874585a39ca3c666fabbba17667c4 /gcc
parentb1ed0c9671b99c6b06cbb8c61be14cdec0998de8 (diff)
downloadgcc-9453e3cd0ffd0c377a648b83a9a5fdc5809e60d7.zip
gcc-9453e3cd0ffd0c377a648b83a9a5fdc5809e60d7.tar.gz
gcc-9453e3cd0ffd0c377a648b83a9a5fdc5809e60d7.tar.bz2
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/lto-wrapper.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/lto-wrapper.cc b/gcc/lto-wrapper.cc
index 11c4d1b..fe8c5f6 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: