]> git.kaiwu.me - njs.git/commitdiff
All C feature attributes have been disabled for Linux/PPC64.
authorIgor Sysoev <igor@sysoev.ru>
Sat, 24 Sep 2016 19:13:31 +0000 (22:13 +0300)
committerIgor Sysoev <igor@sysoev.ru>
Sat, 24 Sep 2016 19:13:31 +0000 (22:13 +0300)
nxt/auto/clang
nxt/nxt_clang.h

index c041e1912327533c8c8e5bb4cef0e623353defa3..686003e1353a06deafeec7fb9a4df65d5e62dd5d 100644 (file)
@@ -166,85 +166,98 @@ END
 
 # C language features.
 
-nxt_feature="GCC __builtin_expect()"
-nxt_feature_name=NXT_HAVE_BUILTIN_EXPECT
-nxt_feature_run=no
-nxt_feature_incs=
-nxt_feature_libs=
-nxt_feature_test="int main(int argc, char *const *argv) {
-                      if ((__typeof__(argc == 0))
-                                   __builtin_expect((argc == 0), 0))
-                          return 0;
-                      return 1;
-                  }"
-. ${NXT_AUTO}feature
-
-
-nxt_feature="GCC __builtin_unreachable()"
-nxt_feature_name=NXT_HAVE_BUILTIN_UNREACHABLE
-nxt_feature_run=no
-nxt_feature_incs=
-nxt_feature_libs=
-nxt_feature_test="int main() {
-                      __builtin_unreachable();
-                  }"
-. ${NXT_AUTO}feature
-
-
-nxt_feature="GCC __builtin_prefetch()"
-nxt_feature_name=NXT_HAVE_BUILTIN_PREFETCH
-nxt_feature_run=no
-nxt_feature_incs=
-nxt_feature_libs=
-nxt_feature_test="int main() {
-                      __builtin_prefetch(0);
-                  }"
-. ${NXT_AUTO}feature
-
-
-nxt_feature="GCC __attribute__ visibility"
-nxt_feature_name=NXT_HAVE_GCC_ATTRIBUTE_VISIBILITY
-nxt_feature_run=
-nxt_feature_path=
-nxt_feature_libs=
-nxt_feature_test="int n __attribute__ ((visibility(\"default\")));
-
-                  int main() {
-                      return 1;
-                  }"
-. ${NXT_AUTO}feature
-
-
-nxt_feature="GCC __attribute__ aligned"
-nxt_feature_name=NXT_HAVE_GCC_ATTRIBUTE_ALIGNED
-nxt_feature_run=
-nxt_feature_path=
-nxt_feature_libs=
-nxt_feature_test="int n __attribute__ ((aligned(64)));
-
-                  int main() {
-                      return 1;
-                  }"
-. ${NXT_AUTO}feature
-
-
-nxt_feature="GCC __attribute__ malloc"
-nxt_feature_name=NXT_HAVE_GCC_ATTRIBUTE_MALLOC
-nxt_feature_run=
-nxt_feature_path=
-nxt_feature_libs=
-nxt_feature_test="#include <stdlib.h>
-
-                  void *f(void) __attribute__ ((__malloc__));
-
-                  void *f(void) {
-                      return malloc(1);
-                  }
-
-                  int main() {
-                      if (f() != NULL) {
-                          return 1;
-                      }
-                      return 0;
-                  }"
-. ${NXT_AUTO}feature
+nxt_os="$NXT_SYSTEM/$NXT_SYSTEM_PLATFORM"
+
+if [ "$nxt_os" = "Linux/ppc64le" ]; then
+
+    # Old GNU ld linker may hang on Linux ppc64le platform
+    # if some of these features are enabled.
+
+    echo "checking for C language features is disabled for $nxt_os."
+
+else
+
+    nxt_feature="GCC __builtin_expect()"
+    nxt_feature_name=NXT_HAVE_BUILTIN_EXPECT
+    nxt_feature_run=no
+    nxt_feature_incs=
+    nxt_feature_libs=
+    nxt_feature_test="int main(int argc, char *const *argv) {
+                         if ((__typeof__(argc == 0))
+                                      __builtin_expect((argc == 0), 0))
+                             return 0;
+                         return 1;
+                     }"
+    . ${NXT_AUTO}feature
+
+
+    nxt_feature="GCC __builtin_unreachable()"
+    nxt_feature_name=NXT_HAVE_BUILTIN_UNREACHABLE
+    nxt_feature_run=no
+    nxt_feature_incs=
+    nxt_feature_libs=
+    nxt_feature_test="int main() {
+                         __builtin_unreachable();
+                     }"
+    . ${NXT_AUTO}feature
+
+
+    nxt_feature="GCC __builtin_prefetch()"
+    nxt_feature_name=NXT_HAVE_BUILTIN_PREFETCH
+    nxt_feature_run=no
+    nxt_feature_incs=
+    nxt_feature_libs=
+    nxt_feature_test="int main() {
+                         __builtin_prefetch(0);
+                     }"
+    . ${NXT_AUTO}feature
+
+
+    nxt_feature="GCC __attribute__ visibility"
+    nxt_feature_name=NXT_HAVE_GCC_ATTRIBUTE_VISIBILITY
+    nxt_feature_run=
+    nxt_feature_path=
+    nxt_feature_libs=
+    nxt_feature_test="int n __attribute__ ((visibility(\"default\")));
+
+                     int main() {
+                         return 1;
+                     }"
+    . ${NXT_AUTO}feature
+
+
+    nxt_feature="GCC __attribute__ aligned"
+    nxt_feature_name=NXT_HAVE_GCC_ATTRIBUTE_ALIGNED
+    nxt_feature_run=
+    nxt_feature_path=
+    nxt_feature_libs=
+    nxt_feature_test="int n __attribute__ ((aligned(64)));
+
+                     int main() {
+                         return 1;
+                     }"
+    . ${NXT_AUTO}feature
+
+
+    nxt_feature="GCC __attribute__ malloc"
+    nxt_feature_name=NXT_HAVE_GCC_ATTRIBUTE_MALLOC
+    nxt_feature_run=
+    nxt_feature_path=
+    nxt_feature_libs=
+    nxt_feature_test="#include <stdlib.h>
+
+                     void *f(void) __attribute__ ((__malloc__));
+
+                     void *f(void) {
+                         return malloc(1);
+                     }
+
+                     int main() {
+                         if (f() != NULL) {
+                             return 1;
+                         }
+                         return 0;
+                     }"
+    . ${NXT_AUTO}feature
+
+fi
index c409491ab88c15ef09c001ab5d14749eb6a95352..03cb0a56014f43a1c8f85c7c865d208d469fb599 100644 (file)
 
 
 #if (NXT_HAVE_GCC_ATTRIBUTE_ALIGNED)
-
-#if (NXT_LINUX && __PPC64__)
-/* Old GNU ld linker may hang on Linux ppc64le platform. */
-#define nxt_aligned(x)
-#else
 #define nxt_aligned(x)     __attribute__((aligned(x)))
-#endif
 
 #else
 #define nxt_aligned(x)