[PATCH] D13425: [compiler-rt] Properly detect lack of available system libraries for arch in clang_darwin.mk

Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 5 15:26:13 PDT 2015


This revision was automatically updated to reflect the committed changes.
Closed by commit rL249358: [compiler-rt] Properly detect lack of available system libraries for arch in… (authored by kfischer).

Changed prior to commit:
  http://reviews.llvm.org/D13425?vs=36474&id=36566#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D13425

Files:
  compiler-rt/trunk/make/platform/clang_darwin.mk
  compiler-rt/trunk/make/platform/clang_darwin_test_input.c

Index: compiler-rt/trunk/make/platform/clang_darwin.mk
===================================================================
--- compiler-rt/trunk/make/platform/clang_darwin.mk
+++ compiler-rt/trunk/make/platform/clang_darwin.mk
@@ -17,23 +17,23 @@
     result=""; \
     if [ "X$(3)" != X ]; then \
       for arch in $(1); do \
-        if $(CC) -arch $$arch -c \
+        if $(LD) -v 2>&1 | grep "configured to support" \
+             | tr ' ' '\n' | grep "^$$arch$$" >/dev/null 2>/dev/null; then \
+          if $(CC) -arch $$arch \
             -integrated-as \
             $(ProjSrcRoot)/make/platform/clang_darwin_test_input.c \
             -isysroot $(3) \
             -o /dev/null > /dev/null 2> /dev/null; then \
-          if $(LD) -v 2>&1 | grep "configured to support" \
-             | tr ' ' '\n' | grep "^$$arch$$" >/dev/null 2>/dev/null; then \
-            result="$$result$$arch "; \
+              result="$$result$$arch "; \
           else \
             printf 1>&2 \
-            "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'";\
-            printf 1>&2 " (ld does not support it)\n"; \
+             "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'"; \
+            printf 1>&2 " (clang or system libraries do not support it)\n"; \
           fi; \
         else \
           printf 1>&2 \
-           "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'"; \
-          printf 1>&2 " (clang does not support it)\n"; \
+            "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'";\
+          printf 1>&2 " (ld does not support it)\n"; \
         fi; \
       done; \
     fi; \
Index: compiler-rt/trunk/make/platform/clang_darwin_test_input.c
===================================================================
--- compiler-rt/trunk/make/platform/clang_darwin_test_input.c
+++ compiler-rt/trunk/make/platform/clang_darwin_test_input.c
@@ -4,3 +4,12 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
+
+// Force us to link at least one symbol in a system library
+// to detect systems where we don't have those for a given
+// architecture.
+int main(int argc, const char **argv) {
+    int x;
+    memcpy(&x,&argc,sizeof(int));
+}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13425.36566.patch
Type: text/x-patch
Size: 2263 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151005/9565f3a1/attachment.bin>


More information about the llvm-commits mailing list