[141660] trunk/dports/lang/llvm-3.7

jeremyhu at macports.org jeremyhu at macports.org
Sat Dec 12 02:28:15 PST 2015


Revision: 141660
          https://trac.macports.org/changeset/141660
Author:   jeremyhu at macports.org
Date:     2015-10-25 17:20:47 -0700 (Sun, 25 Oct 2015)
Log Message:
-----------
clang-3.7: Include ASan reports in crash logs by default

Modified Paths:
--------------
    trunk/dports/lang/llvm-3.7/Portfile
    trunk/dports/lang/llvm-3.7/files/2001-MacPorts-Only-Comment-out-SL-cctools-workaround.patch
    trunk/dports/lang/llvm-3.7/files/2002-Update-CheckArches-to-fallback-on-Intel-ppc-if-ld-v-.patch
    trunk/dports/lang/llvm-3.7/files/2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch
    trunk/dports/lang/llvm-3.7/files/2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch
    trunk/dports/lang/llvm-3.7/files/2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch

Added Paths:
-----------
    trunk/dports/lang/llvm-3.7/files/2006-Set-abort_on_error-to-true-by-default.patch
    trunk/dports/lang/llvm-3.7/files/2007-Save-the-ASan-report-in-the-OS-X-crash-log.patch

Modified: trunk/dports/lang/llvm-3.7/Portfile
===================================================================
--- trunk/dports/lang/llvm-3.7/Portfile	2015-10-25 22:31:10 UTC (rev 141659)
+++ trunk/dports/lang/llvm-3.7/Portfile	2015-10-26 00:20:47 UTC (rev 141660)
@@ -8,7 +8,7 @@
 set llvm_version        3.7
 set llvm_version_no_dot 37
 name                    llvm-${llvm_version}
-subport                 clang-${llvm_version} {}
+subport                 clang-${llvm_version} { revision 1 }
 set suffix              mp-${llvm_version}
 set sub_prefix          ${prefix}/libexec/llvm-${llvm_version}
 dist_subdir             llvm
@@ -138,6 +138,8 @@
         2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch \
         2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch \
         2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch \
+        2006-Set-abort_on_error-to-true-by-default.patch \
+        2007-Save-the-ASan-report-in-the-OS-X-crash-log.patch \
         3001-buildit-build-fix-for-Leopard.patch \
         3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch \
         3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch \
@@ -426,6 +428,11 @@
         file delete -force ${destroot}${sub_prefix}/libexec/clang-format/Release+Debug+Asserts
         file delete -force ${destroot}${sub_prefix}/libexec/clang-format/CMakeLists.txt
         file delete -force ${destroot}${sub_prefix}/libexec/clang-format/ClangFormat.cpp
+
+        system "install_name_tool -id @rpath/libclang_rt.asan_iossim_dynamic.dylib ${destroot}${sub_prefix}/lib/clang/${llvm_version}/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib"
+        system "install_name_tool -id @rpath/libclang_rt.asan_osx_dynamic.dylib ${destroot}${sub_prefix}/lib/clang/${llvm_version}/lib/darwin/libclang_rt.asan_osx_dynamic.dylib"
+        system "install_name_tool -id @rpath/libclang_rt.ubsan_iossim_dynamic.dylib ${destroot}${sub_prefix}/lib/clang/${llvm_version}/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib"
+        system "install_name_tool -id @rpath/libclang_rt.ubsan_osx_dynamic.dylib ${destroot}${sub_prefix}/lib/clang/${llvm_version}/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib"
     }
 }
 

Modified: trunk/dports/lang/llvm-3.7/files/2001-MacPorts-Only-Comment-out-SL-cctools-workaround.patch
===================================================================
--- trunk/dports/lang/llvm-3.7/files/2001-MacPorts-Only-Comment-out-SL-cctools-workaround.patch	2015-10-25 22:31:10 UTC (rev 141659)
+++ trunk/dports/lang/llvm-3.7/files/2001-MacPorts-Only-Comment-out-SL-cctools-workaround.patch	2015-10-26 00:20:47 UTC (rev 141660)
@@ -1,18 +1,18 @@
-From 6f543c369c868da8eabc97b27b64ddaaf7fa7a00 Mon Sep 17 00:00:00 2001
+From e2677a51632b1d9e4e100f6e39f320f29811544e Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
 Date: Mon, 15 Apr 2013 22:38:18 -0700
-Subject: [PATCH 2001/2004] MacPorts Only: Comment out SL cctools workaround
+Subject: [PATCH 2001/2007] MacPorts Only: Comment out SL cctools workaround
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
 ---
  make/platform/clang_darwin.mk | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
 
-diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
-index 4f71c0b..cc553ae 100644
---- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
-+++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
-@@ -126,12 +126,12 @@ UniversalArchs.ubsan_osx := $(call CheckArches,i386 x86_64 x86_64h,ubsan_osx,$(O
+diff --git llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
+index 79925bc..4e869d6 100644
+--- llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
+@@ -129,12 +129,12 @@ UniversalArchs.ubsan_iossim_dynamic := $(call CheckArches,i386 x86_64,ubsan_ioss
  # object files. If we are on that platform, strip out all ARM archs. We still
  # build the libraries themselves so that Clang can find them where it expects
  # them, even though they might not have an expected slice.
@@ -32,5 +32,5 @@
  # If RC_SUPPORTED_ARCHS is defined, treat it as a list of the architectures we
  # are intended to support and limit what we try to build to that.
 -- 
-2.3.0
+2.6.2
 

Modified: trunk/dports/lang/llvm-3.7/files/2002-Update-CheckArches-to-fallback-on-Intel-ppc-if-ld-v-.patch
===================================================================
--- trunk/dports/lang/llvm-3.7/files/2002-Update-CheckArches-to-fallback-on-Intel-ppc-if-ld-v-.patch	2015-10-25 22:31:10 UTC (rev 141659)
+++ trunk/dports/lang/llvm-3.7/files/2002-Update-CheckArches-to-fallback-on-Intel-ppc-if-ld-v-.patch	2015-10-26 00:20:47 UTC (rev 141660)
@@ -1,7 +1,7 @@
-From 23ae20f935fb745104ff31cc280ed4bdd059b655 Mon Sep 17 00:00:00 2001
+From e9dbcc3e88810caf3e303e3f1b106574bb68b8d3 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
 Date: Sat, 10 Jan 2015 03:34:51 -0800
-Subject: [PATCH 2002/2004] Update CheckArches to fallback on Intel/ppc if ld
+Subject: [PATCH 2002/2007] Update CheckArches to fallback on Intel/ppc if ld
  -v doesn't report supported architectures
 
 Older versions of ld64 (eg: Xcode 3.x) do not report this.
@@ -13,10 +13,10 @@
  make/platform/clang_darwin.mk | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
-index cc553ae..08e97f5 100644
---- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
-+++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+diff --git llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
+index 4e869d6..1893ad4 100644
+--- llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
 @@ -25,6 +25,8 @@ CheckArches = \
            if $(LD) -v 2>&1 | grep "configured to support" \
               | tr ' ' '\n' | grep "^$$arch$$" >/dev/null 2>/dev/null; then \
@@ -27,5 +27,5 @@
              printf 1>&2 \
              "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'";\
 -- 
-2.3.0
+2.6.2
 

Modified: trunk/dports/lang/llvm-3.7/files/2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch
===================================================================
--- trunk/dports/lang/llvm-3.7/files/2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch	2015-10-25 22:31:10 UTC (rev 141659)
+++ trunk/dports/lang/llvm-3.7/files/2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch	2015-10-26 00:20:47 UTC (rev 141660)
@@ -1,7 +1,7 @@
-From 0d87693a90dbd828868f125bbc6f496659e4ce14 Mon Sep 17 00:00:00 2001
+From cd109000abbab497df2ee32a2a33035713009175 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
 Date: Sat, 17 Jan 2015 17:45:27 -0800
-Subject: [PATCH 2003/2004] Fall back on xcodebuild -sdk when xcrun --sdk is
+Subject: [PATCH 2003/2007] Fall back on xcodebuild -sdk when xcrun --sdk is
  not supported
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
@@ -9,10 +9,10 @@
  make/platform/clang_darwin.mk | 4 ++++
  1 file changed, 4 insertions(+)
 
-diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
-index 08e97f5..d99081b 100644
---- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
-+++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+diff --git llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
+index 1893ad4..974ae1c 100644
+--- llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
 @@ -52,6 +52,10 @@ XCRunSdkPath = \
      result=`xcrun --sdk $(1).internal --show-sdk-path 2> /dev/null`; \
      if [ "$$?" != "0" ]; then \
@@ -25,5 +25,5 @@
      fi; \
      echo $$result)
 -- 
-2.3.0
+2.6.2
 

Modified: trunk/dports/lang/llvm-3.7/files/2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch
===================================================================
--- trunk/dports/lang/llvm-3.7/files/2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch	2015-10-25 22:31:10 UTC (rev 141659)
+++ trunk/dports/lang/llvm-3.7/files/2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch	2015-10-26 00:20:47 UTC (rev 141660)
@@ -1,7 +1,7 @@
-From f0e6107c4e73d8da46ffe0ed530bfc0d48f69e06 Mon Sep 17 00:00:00 2001
+From ad7e458c5ee6caf2f08658aa06414516cc5551b9 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
 Date: Sat, 17 Jan 2015 19:55:19 -0800
-Subject: [PATCH 2004/2004] On darwin, build ppc slices of the compiler runtime
+Subject: [PATCH 2004/2007] On darwin, build ppc slices of the compiler runtime
  if requested and supported by the SDK and toolchain
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
@@ -9,10 +9,10 @@
  make/platform/clang_darwin.mk | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
 
-diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
-index d99081b..09c9a86 100644
---- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
-+++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+diff --git llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
+index 974ae1c..c39e33c 100644
+--- llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
 @@ -83,10 +83,10 @@ Configs += eprintf
  UniversalArchs.eprintf := $(call CheckArches,i386,eprintf,$(OSX_SDK))
  
@@ -51,5 +51,5 @@
  UniversalArchs.profile_ios := $(call CheckArches,i386 x86_64,profile_ios,$(IOSSIM_SDK))
  UniversalArchs.profile_ios += $(call CheckArches,armv7 arm64,profile_ios,$(IOS_SDK))
 -- 
-2.3.0
+2.6.2
 

Modified: trunk/dports/lang/llvm-3.7/files/2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch
===================================================================
--- trunk/dports/lang/llvm-3.7/files/2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch	2015-10-25 22:31:10 UTC (rev 141659)
+++ trunk/dports/lang/llvm-3.7/files/2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch	2015-10-26 00:20:47 UTC (rev 141660)
@@ -1,7 +1,7 @@
-From 93765fa740dd35a58fef1ff80ff31f69918a57aa Mon Sep 17 00:00:00 2001
+From ed862ddb8c6511608592b4dc0a13f330385df233 Mon Sep 17 00:00:00 2001
 From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
-Date: Fri, 14 Aug 2015 11:22:31 -0700
-Subject: [PATCH 2005/2005] MacPorts Only: Don't build x86_64h slice of
+Date: Wed, 14 Jan 2015 19:55:19 -0800
+Subject: [PATCH 2005/2007] MacPorts Only: Don't build x86_64h slice of
  compiler-rt
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
@@ -9,10 +9,10 @@
  make/platform/clang_darwin.mk | 10 +++++-----
  1 file changed, 5 insertions(+), 5 deletions(-)
 
-diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+diff --git llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
 index c39e33c..2b7403a 100644
---- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
-+++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+--- llvm_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_release_37/projects/compiler-rt/make/platform/clang_darwin.mk
 @@ -97,11 +97,11 @@ UniversalArchs.ios += $(call CheckArches,armv7 arm64,ios,$(IOS_SDK))
  # Configuration for targeting OSX. These functions may not be in libSystem
  # so we should provide our own.
@@ -52,5 +52,5 @@
  Configs += ubsan_iossim_dynamic
  UniversalArchs.ubsan_iossim_dynamic := $(call CheckArches,i386 x86_64,ubsan_iossim_dynamic,$(IOSSIM_SDK))
 -- 
-2.5.0
+2.6.2
 

Added: trunk/dports/lang/llvm-3.7/files/2006-Set-abort_on_error-to-true-by-default.patch
===================================================================
--- trunk/dports/lang/llvm-3.7/files/2006-Set-abort_on_error-to-true-by-default.patch	                        (rev 0)
+++ trunk/dports/lang/llvm-3.7/files/2006-Set-abort_on_error-to-true-by-default.patch	2015-10-26 00:20:47 UTC (rev 141660)
@@ -0,0 +1,26 @@
+From 8046167ff764e7a500a406a970927bc24b688629 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sun, 25 Oct 2015 16:47:47 -0700
+Subject: [PATCH 2006/2007] Set abort_on_error to true by default
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+---
+ lib/asan/asan_flags.inc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git llvm_release_37/projects/compiler-rt/lib/asan/asan_flags.inc macports_release_37/projects/compiler-rt/lib/asan/asan_flags.inc
+index 53a8a40..5cafe66 100644
+--- llvm_release_37/projects/compiler-rt/lib/asan/asan_flags.inc
++++ macports_release_37/projects/compiler-rt/lib/asan/asan_flags.inc
+@@ -78,7 +78,7 @@ ASAN_FLAG(bool, check_malloc_usable_size, true,
+ ASAN_FLAG(bool, unmap_shadow_on_exit, false,
+           "If set, explicitly unmaps the (huge) shadow at exit.")
+ ASAN_FLAG(
+-    bool, abort_on_error, false,
++    bool, abort_on_error, true,
+     "If set, the tool calls abort() instead of _exit() after printing the "
+     "error report.")
+ ASAN_FLAG(bool, print_stats, false,
+-- 
+2.6.2
+

Added: trunk/dports/lang/llvm-3.7/files/2007-Save-the-ASan-report-in-the-OS-X-crash-log.patch
===================================================================
--- trunk/dports/lang/llvm-3.7/files/2007-Save-the-ASan-report-in-the-OS-X-crash-log.patch	                        (rev 0)
+++ trunk/dports/lang/llvm-3.7/files/2007-Save-the-ASan-report-in-the-OS-X-crash-log.patch	2015-10-26 00:20:47 UTC (rev 141660)
@@ -0,0 +1,66 @@
+From b82505f69186c22d06ea81ac59b2fe5608f8c02c Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sun, 25 Oct 2015 16:03:00 -0700
+Subject: [PATCH 2007/2007] Save the ASan report in the OS X crash log
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+(cherry picked from commit c00bd67ad0f1dd933d8f962b9e4be1de1446465c)
+---
+ lib/asan/asan_report.cc | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+diff --git llvm_release_37/projects/compiler-rt/lib/asan/asan_report.cc macports_release_37/projects/compiler-rt/lib/asan/asan_report.cc
+index c1681e6..b736df4 100644
+--- llvm_release_37/projects/compiler-rt/lib/asan/asan_report.cc
++++ macports_release_37/projects/compiler-rt/lib/asan/asan_report.cc
+@@ -23,6 +23,18 @@
+ #include "sanitizer_common/sanitizer_stackdepot.h"
+ #include "sanitizer_common/sanitizer_symbolizer.h"
+ 
++// Apple CrashReporter support.
++#ifdef __APPLE__
++extern "C" {
++static char __crashreporter_info_buff__[1 << 16] = { 0 };
++static const char *__crashreporter_info__ __attribute__((__used__)) = &__crashreporter_info_buff__[0];
++asm (".desc ___crashreporter_info__, 0x10");
++
++#include <string.h>
++#define CRSetCrashLogMessage(msg) strlcpy(__crashreporter_info_buff__, msg, sizeof(__crashreporter_info_buff__));
++}
++#endif
++
+ namespace __asan {
+ 
+ // -------------------- User-specified callbacks ----------------- {{{1
+@@ -45,6 +57,16 @@ static bool report_happened = false;
+ static ReportData report_data = {};
+ 
+ void AppendToErrorMessageBuffer(const char *buffer) {
++#if __APPLE__
++  // For the Apple CrashReporter support: Always store reports into buffer.
++  if (!error_message_buffer) {
++    error_message_buffer_size = 1 << 16;
++    error_message_buffer =
++        (char*)MmapOrDie(error_message_buffer_size, __func__);
++    error_message_buffer_pos = 0;
++  }
++#endif
++
+   if (error_message_buffer) {
+     uptr length = internal_strlen(buffer);
+     CHECK_GE(error_message_buffer_size, error_message_buffer_pos);
+@@ -663,6 +685,11 @@ class ScopedInErrorReport {
+     // Print memory stats.
+     if (flags()->print_stats)
+       __asan_print_accumulated_stats();
++
++#ifdef __APPLE__
++    CRSetCrashLogMessage(error_message_buffer);
++#endif
++
+     if (error_report_callback) {
+       error_report_callback(error_message_buffer);
+     }
+-- 
+2.6.2
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20151212/2f9a9098/attachment.html>


More information about the macports-changes mailing list