diff options
author | Andreas Schwab <schwab@suse.de> | 2023-01-25 12:00:09 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2023-01-30 10:46:15 +0100 |
commit | 3cd08f7168c196d7a481b9ed9f4289fd1f14eea8 (patch) | |
tree | 3172f08b07d33d783b7ae248a6ee12fa1f758408 | |
parent | 59e4c98173a79fcaa2c33253261409f38856c384 (diff) | |
download | gcc-3cd08f7168c196d7a481b9ed9f4289fd1f14eea8.zip gcc-3cd08f7168c196d7a481b9ed9f4289fd1f14eea8.tar.gz gcc-3cd08f7168c196d7a481b9ed9f4289fd1f14eea8.tar.bz2 |
riscv: Enable -fasynchronous-unwind-tables by default on Linux
This follows the example of aarch64.
gcc/:
* common/config/riscv/riscv-common.cc
(riscv_option_optimization_table)
[TARGET_DEFAULT_ASYNC_UNWIND_TABLES]: Enable
-fasynchronous-unwind-tables and -funwind-tables.
* config.gcc (riscv*-*-linux*): Define
TARGET_DEFAULT_ASYNC_UNWIND_TABLES.
-rw-r--r-- | gcc/common/config/riscv/riscv-common.cc | 4 | ||||
-rw-r--r-- | gcc/config.gcc | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/gcc/common/config/riscv/riscv-common.cc b/gcc/common/config/riscv/riscv-common.cc index 2e3116e..616e2f8 100644 --- a/gcc/common/config/riscv/riscv-common.cc +++ b/gcc/common/config/riscv/riscv-common.cc @@ -1756,6 +1756,10 @@ static const struct default_options riscv_option_optimization_table[] = { { OPT_LEVELS_1_PLUS, OPT_fsection_anchors, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_free, NULL, 1 }, +#if TARGET_DEFAULT_ASYNC_UNWIND_TABLES == 1 + { OPT_LEVELS_ALL, OPT_fasynchronous_unwind_tables, NULL, 1 }, + { OPT_LEVELS_ALL, OPT_funwind_tables, NULL, 1}, +#endif { OPT_LEVELS_NONE, 0, NULL, 0 } }; diff --git a/gcc/config.gcc b/gcc/config.gcc index 89f5604..744b46f 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -2417,6 +2417,7 @@ riscv*-*-linux*) *) echo "Unknown value for enable_multilib"; exit 1 esac tmake_file="${tmake_file} riscv/t-riscv riscv/t-linux" + tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" gnu_ld=yes gas=yes case $target in |