aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2023-01-25 12:00:09 +0100
committerAndreas Schwab <schwab@suse.de>2023-01-30 10:46:15 +0100
commit3cd08f7168c196d7a481b9ed9f4289fd1f14eea8 (patch)
tree3172f08b07d33d783b7ae248a6ee12fa1f758408
parent59e4c98173a79fcaa2c33253261409f38856c384 (diff)
downloadgcc-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.cc4
-rw-r--r--gcc/config.gcc1
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