pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
compiler-rt-netbsd: Update to SVN r. 317742
Module Name: pkgsrc-wip
Committed By: Kamil Rytarowski <n54%gmx.com@localhost>
Pushed By: kamil
Date: Thu Nov 9 01:34:52 2017 +0100
Changeset: e36b5c091d6944343433c0f329dbe783460c4f70
Modified Files:
compiler-rt-netbsd/Makefile
compiler-rt-netbsd/distinfo
Removed Files:
compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__allocator.cc
compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__allocator__internal.h
compiler-rt-netbsd/patches/patch-lib_tsan_rtl_tsan__interceptors.cc
compiler-rt-netbsd/patches/patch-test_tsan_atexit3.cc
Log Message:
compiler-rt-netbsd: Update to SVN r. 317742
Eliminate local patches, merged upstream in a different version.
"Correct atexit(3) support in TSan/NetBSD"
https://reviews.llvm.org/D39619
Sponsored by <The NetBSD Foundation>
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e36b5c091d6944343433c0f329dbe783460c4f70
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
compiler-rt-netbsd/Makefile | 2 +-
compiler-rt-netbsd/distinfo | 4 --
...h-lib_sanitizer__common_sanitizer__allocator.cc | 30 -----------
...itizer__common_sanitizer__allocator__internal.h | 13 -----
.../patch-lib_tsan_rtl_tsan__interceptors.cc | 61 ----------------------
.../patches/patch-test_tsan_atexit3.cc | 46 ----------------
6 files changed, 1 insertion(+), 155 deletions(-)
diffs:
diff --git a/compiler-rt-netbsd/Makefile b/compiler-rt-netbsd/Makefile
index 9f4e6c1547..49c8a282f7 100644
--- a/compiler-rt-netbsd/Makefile
+++ b/compiler-rt-netbsd/Makefile
@@ -5,7 +5,7 @@ CATEGORIES= lang devel
SVN_REPOSITORIES= compiler-rt
SVN_REPO.compiler-rt= http://llvm.org/svn/llvm-project/compiler-rt/trunk
-SVN_REVISION.compiler-rt= 317430
+SVN_REVISION.compiler-rt= 317742
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
HOMEPAGE= http://compiler-rt.llvm.org/
diff --git a/compiler-rt-netbsd/distinfo b/compiler-rt-netbsd/distinfo
index 038b1b52be..e6091f5dca 100644
--- a/compiler-rt-netbsd/distinfo
+++ b/compiler-rt-netbsd/distinfo
@@ -3,9 +3,5 @@ $NetBSD: distinfo,v 1.35 2015/09/11 01:21:57 tnn Exp $
SHA1 (patch-cmake_config-ix.cmake) = a1814db3e044ce3954655fea1e157a96bfa8df2f
SHA1 (patch-lib_fuzzer_tests_CMakeLists.txt) = 38ca750154dfc9843a56748078235824b772a147
SHA1 (patch-lib_msan_msan.h) = ce3f544490aebc1db73be9e3388f0a9d31d5b369
-SHA1 (patch-lib_sanitizer__common_sanitizer__allocator.cc) = 464615041890651425a1e298e4321683dde3b750
-SHA1 (patch-lib_sanitizer__common_sanitizer__allocator__internal.h) = 7f77138aa4249dcc9578a556bec0ba2af7a51133
-SHA1 (patch-lib_tsan_rtl_tsan__interceptors.cc) = 243e026dd9b159468911141013833e61eb8e42d1
SHA1 (patch-lib_tsan_rtl_tsan__rtl.cc) = bc3d6aa81515ac4a4fc5b504e93b3ac8de355371
SHA1 (patch-lib_tsan_rtl_tsan__rtl__amd64.S) = 6df0f2af44ebfec76d3b237c984eff63ee93b30f
-SHA1 (patch-test_tsan_atexit3.cc) = 5abc7ce8bfde2f6c41ad6dc70c6030a183b71f1b
diff --git a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__allocator.cc b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__allocator.cc
deleted file mode 100644
index 0e58567535..0000000000
--- a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__allocator.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD$
-
---- lib/sanitizer_common/sanitizer_allocator.cc.orig 2017-10-17 18:35:46.000000000 +0000
-+++ lib/sanitizer_common/sanitizer_allocator.cc
-@@ -180,6 +180,25 @@ void InternalFree(void *addr, InternalAl
- // LowLevelAllocator
- static LowLevelAllocateCallback low_level_alloc_callback;
-
-+int InternalReallocArr(void *addr, uptr count, uptr size,
-+ InternalAllocatorCache *cache) {
-+ void *oaddr;
-+ void *naddr = 0;
-+
-+ internal_memcpy(&oaddr, addr, sizeof(addr));
-+ if (!count || !size) {
-+ InternalFree(oaddr, cache);
-+ internal_memcpy(addr, &naddr, sizeof(addr));
-+ return 0;
-+ }
-+
-+ naddr = InternalRealloc(oaddr, count * size, cache);
-+ if (!naddr) return -1;
-+
-+ internal_memcpy(addr, &naddr, sizeof(addr));
-+ return 0;
-+}
-+
- void *LowLevelAllocator::Allocate(uptr size) {
- // Align allocation size.
- size = RoundUpTo(size, 8);
diff --git a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__allocator__internal.h b/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__allocator__internal.h
deleted file mode 100644
index 184c13655c..0000000000
--- a/compiler-rt-netbsd/patches/patch-lib_sanitizer__common_sanitizer__allocator__internal.h
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD$
-
---- lib/sanitizer_common/sanitizer_allocator_internal.h.orig 2017-10-17 18:35:46.000000000 +0000
-+++ lib/sanitizer_common/sanitizer_allocator_internal.h
-@@ -57,6 +57,8 @@ void *InternalRealloc(void *p, uptr size
- void *InternalCalloc(uptr countr, uptr size,
- InternalAllocatorCache *cache = nullptr);
- void InternalFree(void *p, InternalAllocatorCache *cache = nullptr);
-+int InternalReallocArr(void *p, uptr count, uptr size,
-+ InternalAllocatorCache *cache = nullptr);
- InternalAllocator *internal_allocator();
-
- enum InternalAllocEnum {
diff --git a/compiler-rt-netbsd/patches/patch-lib_tsan_rtl_tsan__interceptors.cc b/compiler-rt-netbsd/patches/patch-lib_tsan_rtl_tsan__interceptors.cc
deleted file mode 100644
index ba1d4f8481..0000000000
--- a/compiler-rt-netbsd/patches/patch-lib_tsan_rtl_tsan__interceptors.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-$NetBSD$
-
---- lib/tsan/rtl/tsan_interceptors.cc.orig 2017-11-06 03:58:05.000000000 +0000
-+++ lib/tsan/rtl/tsan_interceptors.cc
-@@ -391,10 +391,26 @@ struct AtExitCtx {
- void *arg;
- };
-
--static void at_exit_wrapper(void *arg) {
-- ThreadState *thr = cur_thread();
-- uptr pc = 0;
-- Acquire(thr, pc, (uptr)arg);
-+static struct AtExitCtx **AtExitStack;
-+static int AtExitStackSize;
-+
-+static void at_exit_wrapper() {
-+ // Pop AtExitCtx from the top of the stack of callback functions
-+ AtExitCtx *ctx = AtExitStack[AtExitStackSize - 1];
-+ --AtExitStackSize;
-+ if (InternalReallocArr(&AtExitStack, AtExitStackSize,
-+ sizeof(struct AtExitCtx *))) {
-+ Printf("InternalReallocArr error");
-+ Die();
-+ }
-+
-+ Acquire(cur_thread(), (uptr)0, (uptr)ctx);
-+ ((void(*)())ctx->f)();
-+ InternalFree(ctx);
-+}
-+
-+static void cxa_at_exit_wrapper(void *arg) {
-+ Acquire(cur_thread(), 0, (uptr)arg);
- AtExitCtx *ctx = (AtExitCtx*)arg;
- ((void(*)(void *arg))ctx->f)(ctx->arg);
- InternalFree(ctx);
-@@ -430,7 +446,24 @@ static int setup_at_exit_wrapper(ThreadS
- // Memory allocation in __cxa_atexit will race with free during exit,
- // because we do not see synchronization around atexit callback list.
- ThreadIgnoreBegin(thr, pc);
-- int res = REAL(__cxa_atexit)(at_exit_wrapper, ctx, dso);
-+ int res;
-+ if (!dso) {
-+ // NetBSD does not preserve the 2nd argument if dso is equal to 0
-+ // Store ctx in a local stack-like structure
-+ res = REAL(__cxa_atexit)((void (*)(void *a))at_exit_wrapper, 0, 0);
-+ // Push AtExitCtx on the top of the stack of callback functions
-+ if (!res) {
-+ ++AtExitStackSize;
-+ if (InternalReallocArr(&AtExitStack, AtExitStackSize,
-+ sizeof(struct AtExitCtx *))) {
-+ Printf("InternalReallocArr error");
-+ Die();
-+ }
-+ AtExitStack[AtExitStackSize - 1] = ctx;
-+ }
-+ } else {
-+ res = REAL(__cxa_atexit)(cxa_at_exit_wrapper, ctx, dso);
-+ }
- ThreadIgnoreEnd(thr, pc);
- return res;
- }
diff --git a/compiler-rt-netbsd/patches/patch-test_tsan_atexit3.cc b/compiler-rt-netbsd/patches/patch-test_tsan_atexit3.cc
deleted file mode 100644
index e5b520a679..0000000000
--- a/compiler-rt-netbsd/patches/patch-test_tsan_atexit3.cc
+++ /dev/null
@@ -1,46 +0,0 @@
-$NetBSD$
-
---- test/tsan/atexit3.cc.orig 2017-11-06 18:32:33.221125749 +0000
-+++ test/tsan/atexit3.cc
-@@ -0,0 +1,41 @@
-+// RUN: %clang_tsan -O1 %s -o %t && %run %t 2>&1 | FileCheck %s
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+static void atexit5() {
-+ fprintf(stderr, "5");
-+}
-+
-+static void atexit4() {
-+ fprintf(stderr, "4");
-+}
-+
-+static void atexit3() {
-+ fprintf(stderr, "3");
-+}
-+
-+static void atexit2() {
-+ fprintf(stderr, "2");
-+}
-+
-+static void atexit1() {
-+ fprintf(stderr, "1");
-+}
-+
-+static void atexit0() {
-+ fprintf(stderr, "\n");
-+}
-+
-+int main() {
-+ atexit(atexit0);
-+ atexit(atexit1);
-+ atexit(atexit2);
-+ atexit(atexit3);
-+ atexit(atexit4);
-+ atexit(atexit5);
-+}
-+
-+// CHECK-NOT: FATAL: ThreadSanitizer
-+// CHECK-NOT: WARNING: ThreadSanitizer
-+// CHECK: 54321
Home |
Main Index |
Thread Index |
Old Index