[Patch AArch64] Turn on -fasynchronous-unwind-tables and -funwind-tables by default
authorRamana Radhakrishnan <ramana.radhakrishnan@arm.com>
Tue, 27 Mar 2018 09:26:16 +0000 (09:26 +0000)
committerRamana Radhakrishnan <ramana@gcc.gnu.org>
Tue, 27 Mar 2018 09:26:16 +0000 (09:26 +0000)
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

gcc/ChangeLog
gcc/common/config/aarch64/aarch64-common.c
gcc/config.gcc

index e2a809c..e4f0ff5 100644 (file)
@@ -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
index 7fd9305..a9fc5f1 100644 (file)
@@ -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 }
   };
 
index f7b2659..1b58c06 100644 (file)
@@ -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"