re PR target/78357 (nios2 uses non-standard atomic functions)
authorChung-Lin Tang <cltang@codesourcery.com>
Thu, 17 Nov 2016 06:26:56 +0000 (06:26 +0000)
committerChung-Lin Tang <cltang@gcc.gnu.org>
Thu, 17 Nov 2016 06:26:56 +0000 (06:26 +0000)
2016-11-17  Chung-Lin Tang  <cltang@codesourcery.com>

PR target/78357
* config/nios2/nios2.c (nios2_init_libfuncs): Remove TARGET_LINUX_ABI
condition.
(TARGET_INIT_LIBFUNCS): Delete definition and...
* config/nios2/linux.h (TARGET_INIT_LIBFUNCS): ...move to here, add
comments.

From-SVN: r242534

gcc/ChangeLog
gcc/config/nios2/linux.h
gcc/config/nios2/nios2.c

index 7a7d6e61cad9fffce5a11f34111d0ad676918732..c1c5b8bff48f710b02d0735160707871abf62b3a 100644 (file)
@@ -1,3 +1,12 @@
+2016-11-17  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR target/78357
+       * config/nios2/nios2.c (nios2_init_libfuncs): Remove TARGET_LINUX_ABI
+       condition.
+       (TARGET_INIT_LIBFUNCS): Delete definition and...
+       * config/nios2/linux.h (TARGET_INIT_LIBFUNCS): ...move to here, add
+       comments.
+
 2016-11-17  Krister Walfridsson  <krister.walfridsson@gmail.com>
 
        * config/netbsd-stdint.h: New.
index 4ef55b588867f90a8800a6d36ee87f94e244f573..7b9e59ae96af647bf0d10d535f758afd6be4f2d4 100644 (file)
@@ -44,3 +44,7 @@
    Nios II Processor Reference Handbook.  */
 #define TARGET_LINUX_ABI 1
 
+/* For Linux, we have access to kernel support for atomic operations,
+   add initialization for __sync_* builtins.  */
+#undef TARGET_INIT_LIBFUNCS
+#define TARGET_INIT_LIBFUNCS nios2_init_libfuncs
index 2a28fadcdb0b94d2485515af1017f054fad8fe84..b8e21fb18b2e70b0fc16f28e6cf5b16a44e8f827 100644 (file)
@@ -3607,9 +3607,7 @@ nios2_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
 static void
 nios2_init_libfuncs (void)
 {
-  /* For Linux, we have access to kernel support for atomic operations.  */
-  if (TARGET_LINUX_ABI)
-    init_sync_libfuncs (UNITS_PER_WORD);
+  init_sync_libfuncs (UNITS_PER_WORD);
 }
 
 \f
@@ -4986,9 +4984,6 @@ nios2_adjust_reg_alloc_order (void)
 #undef TARGET_BUILTIN_DECL
 #define TARGET_BUILTIN_DECL nios2_builtin_decl
 
-#undef TARGET_INIT_LIBFUNCS
-#define TARGET_INIT_LIBFUNCS nios2_init_libfuncs
-
 #undef TARGET_FUNCTION_OK_FOR_SIBCALL
 #define TARGET_FUNCTION_OK_FOR_SIBCALL hook_bool_tree_tree_true