aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamana Radhakrishnan <ramana.radhakrishnan@arm.com>2018-03-27 09:26:16 +0000
committerRamana Radhakrishnan <ramana@gcc.gnu.org>2018-03-27 09:26:16 +0000
commitb39036d2348b5a9aa3fb57eccb2fc0b080465759 (patch)
treeb442214e3b6b6ba6e8bd64f8fadc999c210a4ce3
parente278212eeea4f57d8478bf5c6be05fd7bdb2dc8e (diff)
downloadgcc-b39036d2348b5a9aa3fb57eccb2fc0b080465759.zip
gcc-b39036d2348b5a9aa3fb57eccb2fc0b080465759.tar.gz
gcc-b39036d2348b5a9aa3fb57eccb2fc0b080465759.tar.bz2
[Patch AArch64] Turn on -fasynchronous-unwind-tables and -funwind-tables by default
2018-03-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config.gcc (aarch64*-*-linux*): New TARGET_DEFAULT_ASYNC_UNWIND_TABLES * common/config/aarch64/aarch64-common.c (aarch64_optimization_table[]): Turn on fasynchronous-unwind-tables and funwind-tables. From-SVN: r258871
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/common/config/aarch64/aarch64-common.c4
-rw-r--r--gcc/config.gcc1
3 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e2a809c..e4f0ff5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-03-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config.gcc (aarch64*-*-linux*): New TARGET_DEFAULT_ASYNC_UNWIND_TABLES
+ * common/config/aarch64/aarch64-common.c (aarch64_optimization_table[]):
+ Turn on fasynchronous-unwind-tables and funwind-tables.
+
2018-03-26 Uros Bizjak <ubizjak@gmail.com>
PR target/85073
diff --git a/gcc/common/config/aarch64/aarch64-common.c b/gcc/common/config/aarch64/aarch64-common.c
index 7fd9305..a9fc5f1 100644
--- a/gcc/common/config/aarch64/aarch64-common.c
+++ b/gcc/common/config/aarch64/aarch64-common.c
@@ -53,6 +53,10 @@ static const struct default_options aarch_option_optimization_table[] =
{ OPT_LEVELS_1_PLUS, OPT_fsched_pressure, NULL, 1 },
/* Enable redundant extension instructions removal at -O2 and higher. */
{ 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 f7b2659..1b58c06 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -983,6 +983,7 @@ aarch64*-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
+ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1"
case $target in
aarch64_be-*)
tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"