pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

coreclr-git: Draft patches fixing several issues



Module Name:	pkgsrc-wip
Committed By:	Kamil Rytarowski <n54%gmx.com@localhost>
Pushed By:	kamil
Date:		Wed Feb 10 13:35:21 2016 +0100
Changeset:	63c5b19c6edfc12e7b9ee2e3eaa59e59a741c509

Modified Files:
	coreclr-git/Makefile
	coreclr-git/distinfo
	coreclr-git/patches/patch-src_pal_tools_gen-buildsys-clang.sh
	corefx-git/distinfo
Added Files:
	coreclr-git/patches/patch-build.sh
	coreclr-git/patches/patch-src_vm_amd64_externalmethodfixupthunk.S
	coreclr-git/patches/patch-src_vm_amd64_jithelpers__fast.S
	coreclr-git/patches/patch-src_vm_amd64_pinvokestubs.S
	coreclr-git/patches/patch-src_vm_amd64_theprestubamd64.S
	coreclr-git/patches/patch-src_vm_amd64_umthunkstub.S
	coreclr-git/patches/patch-src_vm_amd64_unixasmhelpers.S
	coreclr-git/patches/patch-src_vm_amd64_virtualcallstubamd64.S
Removed Files:
	corefx-git/patches/patch-src_Native_System.Native_pal__errno.cpp
	corefx-git/patches/patch-src_Native_System.Native_pal__errno.h
	corefx-git/patches/patch-src_Native_System.Native_pal__interfaceaddresses.cpp
	corefx-git/patches/patch-src_Native_System.Native_pal__mount.cpp
	corefx-git/patches/patch-src_Native_System.Native_pal__networking.cpp

Log Message:
coreclr-git: Draft patches fixing several issues

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=63c5b19c6edfc12e7b9ee2e3eaa59e59a741c509

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 coreclr-git/Makefile                               |   2 +-
 coreclr-git/distinfo                               |  10 +-
 coreclr-git/patches/patch-build.sh                 |  58 ++++
 .../patch-src_pal_tools_gen-buildsys-clang.sh      |  41 ++-
 .../patch-src_vm_amd64_externalmethodfixupthunk.S  |  40 +++
 .../patches/patch-src_vm_amd64_jithelpers__fast.S  |  13 +
 .../patches/patch-src_vm_amd64_pinvokestubs.S      |  31 ++
 .../patches/patch-src_vm_amd64_theprestubamd64.S   |  18 ++
 .../patches/patch-src_vm_amd64_umthunkstub.S       |  43 +++
 .../patches/patch-src_vm_amd64_unixasmhelpers.S    |  45 +++
 .../patch-src_vm_amd64_virtualcallstubamd64.S      |  22 ++
 corefx-git/distinfo                                |   5 -
 .../patch-src_Native_System.Native_pal__errno.cpp  |  40 ---
 .../patch-src_Native_System.Native_pal__errno.h    |  18 --
 ...ative_System.Native_pal__interfaceaddresses.cpp |  12 -
 .../patch-src_Native_System.Native_pal__mount.cpp  |  54 ----
 ...ch-src_Native_System.Native_pal__networking.cpp | 329 ---------------------
 17 files changed, 319 insertions(+), 462 deletions(-)

diffs:
diff --git a/coreclr-git/Makefile b/coreclr-git/Makefile
index 2b8d499..2e11e5e 100644
--- a/coreclr-git/Makefile
+++ b/coreclr-git/Makefile
@@ -26,7 +26,7 @@ do-configure:
 
 do-build:
 	${RUN} cd ${WRKSRC} && \
-	${PKGSRC_SETENV} ${CONFIGURE_ENV} CMAKE_ARGS_EXTRA=${CMAKE_ARGS:Q} PYTHON=${PYTHONBIN:Q} ./build.sh
+	${PKGSRC_SETENV} ${CONFIGURE_ENV} PYTHON=${PYTHONBIN:Q} ./build.sh cmakeargs ${CMAKE_ARGS:Q}
 
 .include "../../textproc/icu/buildlink3.mk"
 .include "../../wip/llvm-git/buildlink3.mk"
diff --git a/coreclr-git/distinfo b/coreclr-git/distinfo
index 466caf1..6154a09 100644
--- a/coreclr-git/distinfo
+++ b/coreclr-git/distinfo
@@ -1,6 +1,14 @@
 $NetBSD$
 
+SHA1 (patch-build.sh) = b43e77b610481184e99fac986e9d1e4e5f63ba34
 SHA1 (patch-src_pal_inc_pal__char16.h) = 205f6a8533838c192b36bbb00155da1b02e0f629
 SHA1 (patch-src_pal_src_include_pal_context.h) = 211baea6d21db220e621cafb4a6535f453ca8cc7
 SHA1 (patch-src_pal_src_thread_context.cpp) = 04fa57e3023429e9699d777c52999513eed34769
-SHA1 (patch-src_pal_tools_gen-buildsys-clang.sh) = 2b701661e4d3bbf68a8d249a35d80e8a83bc563d
+SHA1 (patch-src_pal_tools_gen-buildsys-clang.sh) = bf18d427782ee8f01df69f640ab291c4f2f154f8
+SHA1 (patch-src_vm_amd64_externalmethodfixupthunk.S) = e1333a44bc0c85f1ceecf2608288c314f81ea75d
+SHA1 (patch-src_vm_amd64_jithelpers__fast.S) = 8b4caa3a355eda6552420fa60c7fdcb886b87754
+SHA1 (patch-src_vm_amd64_pinvokestubs.S) = b16ff26c429dbf4ca08562f1c85bc084a00b13f3
+SHA1 (patch-src_vm_amd64_theprestubamd64.S) = 67f2c136608de2e9626eb73938ea3c2ee20e7b69
+SHA1 (patch-src_vm_amd64_umthunkstub.S) = a5b0893cf383485475276eefa004f6781dc87b94
+SHA1 (patch-src_vm_amd64_unixasmhelpers.S) = f3ca1e949526d884fa48d1a7e3a45939fd93192c
+SHA1 (patch-src_vm_amd64_virtualcallstubamd64.S) = 0c607052fed74cbcae3e17ec7b0d7a9dac235539
diff --git a/coreclr-git/patches/patch-build.sh b/coreclr-git/patches/patch-build.sh
new file mode 100644
index 0000000..4be9d41
--- /dev/null
+++ b/coreclr-git/patches/patch-build.sh
@@ -0,0 +1,58 @@
+$NetBSD$
+
+--- build.sh.orig	2016-02-09 22:37:14.000000000 +0000
++++ build.sh
+@@ -1,10 +1,10 @@
+-#!/usr/bin/env bash
++#!/usr/pkg/bin/bash
+ 
+ PYTHON=${PYTHON:-python}
+ 
+ usage()
+ {
+-    echo "Usage: $0 [BuildArch] [BuildType] [clean] [verbose] [coverage] [cross] [clangx.y] [ninja] [configureonly] [skipconfigure] [skipnative] [skipmscorlib] [skiptests]"
++    echo "Usage: $0 [BuildArch] [BuildType] [clean] [verbose] [coverage] [cross] [clangx.y] [ninja] [configureonly] [skipconfigure] [skipnative] [skipmscorlib] [skiptests] [cmakeargs]"
+     echo "BuildArch can be: x64, x86, arm, arm64"
+     echo "BuildType can be: Debug, Checked, Release"
+     echo "clean - optional argument to force a clean build."
+@@ -19,6 +19,7 @@ usage()
+     echo "skipnative - do not build native components."
+     echo "skipmscorlib - do not build mscorlib.dll even if mono is installed."
+     echo "skiptests - skip the tests in the 'tests' subdirectory."
++    echo "cmakeargs - user-settable additional arguments passed to CMake."
+ 
+     exit 1
+ }
+@@ -142,8 +143,8 @@ build_coreclr()
+ 
+     if [ $__SkipConfigure == 0 ]; then
+         # Regenerate the CMake solution
+-        echo "Invoking \"$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh\" \"$__ProjectRoot\" $__ClangMajorVersion $__ClangMinorVersion $__BuildArch $__BuildType $__CodeCoverage $__IncludeTests $generator"
+-        "$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion $__ClangMinorVersion $__BuildArch $__BuildType $__CodeCoverage $__IncludeTests $generator
++        echo "Invoking \"$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh\" \"$__ProjectRoot\" $__ClangMajorVersion $__ClangMinorVersion $__BuildArch $__BuildType $__CodeCoverage $__IncludeTests $generator $__cmakeargs"
++        "$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion $__ClangMinorVersion $__BuildArch $__BuildType $__CodeCoverage $__IncludeTests $generator "$__cmakeargs"
+     fi
+ 
+     if [ $__SkipCoreCLR == 1 ]; then
+@@ -381,6 +382,7 @@ __ClangMinorVersion=5
+ __MSBuildPath=$__ProjectRoot/Tools/MSBuild.exe
+ __NuGetPath="$__PackagesDir/NuGet.exe"
+ __DistroName=""
++__cmakeargs=""
+ 
+ for i in "$@"
+ do
+@@ -486,6 +488,13 @@ do
+             __IncludeTests=
+             ;;
+ 
++        cmakeargs)
++            shift
++            __cmakeargs="$1"
++            echo "Mam! cmakeargs"
++            echo "wartosc: $__cmakeargs"
++            ;;
++
+         *)
+             __UnprocessedBuildArgs="$__UnprocessedBuildArgs $i"
+             ;;
diff --git a/coreclr-git/patches/patch-src_pal_tools_gen-buildsys-clang.sh b/coreclr-git/patches/patch-src_pal_tools_gen-buildsys-clang.sh
index d2757ec..2365b9f 100644
--- a/coreclr-git/patches/patch-src_pal_tools_gen-buildsys-clang.sh
+++ b/coreclr-git/patches/patch-src_pal_tools_gen-buildsys-clang.sh
@@ -2,9 +2,46 @@ $NetBSD$
 
 --- src/pal/tools/gen-buildsys-clang.sh.orig	2016-01-18 21:51:39.000000000 +0000
 +++ src/pal/tools/gen-buildsys-clang.sh
-@@ -144,4 +144,5 @@ cmake \
+@@ -3,16 +3,17 @@
+ # This file invokes cmake and generates the build system for gcc.
+ #
+ 
+-if [ $# -lt 4 -o $# -gt 7 ]
++if [ $# -lt 4 -o $# -gt 8 ]
+ then
+   echo "Usage..."
+-  echo "gen-buildsys-clang.sh <path to top level CMakeLists.txt> <ClangMajorVersion> <ClangMinorVersion> <Architecture> [build flavor] [coverage] [ninja]"
++  echo "gen-buildsys-clang.sh <path to top level CMakeLists.txt> <ClangMajorVersion> <ClangMinorVersion> <Architecture> [build flavor] [coverage] [ninja] [cmakeargs]"
+   echo "Specify the path to the top level CMake file - <ProjectK>/src/NDP"
+   echo "Specify the clang version to use, split into major and minor version"
+   echo "Specify the target architecture." 
+   echo "Optionally specify the build configuration (flavor.) Defaults to DEBUG." 
+   echo "Optionally specify 'coverage' to enable code coverage build."
+   echo "Target ninja instead of make. ninja must be on the PATH."
++  echo "Pass additional arguments to CMake call."
+   exit 1
+ fi
+ 
+@@ -39,6 +40,7 @@ buildtype=DEBUG
+ code_coverage=OFF
+ build_tests=OFF
+ generator="Unix Makefiles"
++__UnprocessedCMakeArgs=""
+ 
+ for i in "${@:5}"; do
+     upperI="$(echo $i | awk '{print toupper($0)}')"
+@@ -59,7 +61,7 @@ for i in "${@:5}"; do
+       generator=Ninja
+       ;;
+       *)
+-      echo "Ignoring unknown arg '$i'"
++      __UnprocessedCMakeArgs="$__UnprocessedCMakeArgs $i"
+     esac
+ done
+ 
+@@ -144,4 +146,5 @@ cmake \
    "-DCMAKE_ENABLE_CODE_COVERAGE=$code_coverage" \
    "-DCLR_CMAKE_BUILD_TESTS=$build_tests" \
    $cmake_extra_defines \
-+  $CMAKE_ARGS_EXTRA \
++  "$__UnprocessedCMakeArgs" \
    "$1"
diff --git a/coreclr-git/patches/patch-src_vm_amd64_externalmethodfixupthunk.S b/coreclr-git/patches/patch-src_vm_amd64_externalmethodfixupthunk.S
new file mode 100644
index 0000000..ee14f2a
--- /dev/null
+++ b/coreclr-git/patches/patch-src_vm_amd64_externalmethodfixupthunk.S
@@ -0,0 +1,40 @@
+$NetBSD$
+
+--- src/vm/amd64/externalmethodfixupthunk.S.orig	2016-02-02 01:31:09.000000000 +0000
++++ src/vm/amd64/externalmethodfixupthunk.S
+@@ -18,7 +18,7 @@ NESTED_ENTRY ExternalMethodFixupStub, _T
+         mov             rdx, 0                              // sectionIndex
+         mov             rcx, 0                              // pModule
+ 
+-        call            C_FUNC(ExternalMethodFixupWorker)
++        call            EXTERNAL_C_FUNC(ExternalMethodFixupWorker)
+ 
+         EPILOG_WITH_TRANSITION_BLOCK_TAILCALL
+ PATCH_LABEL ExternalMethodFixupPatchLabel
+@@ -35,7 +35,7 @@ NESTED_ENTRY DelayLoad_MethodCall, _TEXT
+         lea     rdi, [rsp + __PWTB_TransitionBlock] // pTransitionBlock
+         mov     rsi, rax                            // pIndirection
+ 
+-        call            C_FUNC(ExternalMethodFixupWorker)
++        call            EXTERNAL_C_FUNC(ExternalMethodFixupWorker)
+ 
+         EPILOG_WITH_TRANSITION_BLOCK_TAILCALL
+ 
+@@ -56,7 +56,7 @@ NESTED_ENTRY DelayLoad_Helper\suffix, _T
+         lea     rdi, [rsp + __PWTB_TransitionBlock] // pTransitionBlock
+         mov     rsi, rax                            // pIndirection
+ 
+-        call    C_FUNC(DynamicHelperWorker)
++        call    EXTERNAL_C_FUNC(DynamicHelperWorker)
+ 
+         test    rax,rax
+         jnz     LOCAL_LABEL(TailCallDelayLoad_Helper\suffix)
+@@ -89,7 +89,7 @@ NESTED_ENTRY VirtualMethodFixupStub, _TE
+ 
+         lea             rdi, [rsp + __PWTB_TransitionBlock] // pTransitionBlock
+         sub             rsi, 5                              // pThunk
+-        call            C_FUNC(VirtualMethodFixupWorker)
++        call            EXTERNAL_C_FUNC(VirtualMethodFixupWorker)
+ 
+         EPILOG_WITH_TRANSITION_BLOCK_TAILCALL
+ PATCH_LABEL VirtualMethodFixupPatchLabel
diff --git a/coreclr-git/patches/patch-src_vm_amd64_jithelpers__fast.S b/coreclr-git/patches/patch-src_vm_amd64_jithelpers__fast.S
new file mode 100644
index 0000000..d45a3d0
--- /dev/null
+++ b/coreclr-git/patches/patch-src_vm_amd64_jithelpers__fast.S
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- src/vm/amd64/jithelpers_fast.S.orig	2016-01-28 19:04:13.000000000 +0000
++++ src/vm/amd64/jithelpers_fast.S
+@@ -19,7 +19,7 @@ LEAF_END JIT_PatchedCodeStart, _TEXT
+ LEAF_ENTRY JIT_WriteBarrier, _TEXT
+ #ifdef _DEBUG
+         // In debug builds, this just contains jump to the debug version of the write barrier by default
+-        jmp C_FUNC(JIT_WriteBarrier_Debug)
++        jmp EXTERNAL_C_FUNC(JIT_WriteBarrier_Debug)
+ #endif
+ 
+         // Do the move into the GC .  It is correct to take an AV here, the EH code
diff --git a/coreclr-git/patches/patch-src_vm_amd64_pinvokestubs.S b/coreclr-git/patches/patch-src_vm_amd64_pinvokestubs.S
new file mode 100644
index 0000000..7630e29
--- /dev/null
+++ b/coreclr-git/patches/patch-src_vm_amd64_pinvokestubs.S
@@ -0,0 +1,31 @@
+$NetBSD$
+
+--- src/vm/amd64/pinvokestubs.S.orig	2016-01-28 19:04:13.000000000 +0000
++++ src/vm/amd64/pinvokestubs.S
+@@ -22,7 +22,7 @@ LEAF_ENTRY GenericPInvokeCalliHelper, _T
+         //
+         mov             rax, [PINVOKE_CALLI_SIGTOKEN_REGISTER + OFFSETOF__VASigCookie__pNDirectILStub]
+         test            rax, rax
+-        jz              C_FUNC(GenericPInvokeCalliGenILStub)
++        jz              EXTERNAL_C_FUNC(GenericPInvokeCalliGenILStub)
+ 
+         //
+         // We need to distinguish between a MethodDesc* and an unmanaged target in PInvokeStubForHost().
+@@ -55,7 +55,7 @@ NESTED_ENTRY GenericPInvokeCalliGenILStu
+         lea             rdi, [rsp + __PWTB_TransitionBlock]     // pTransitionBlock*
+         mov             rsi, PINVOKE_CALLI_SIGTOKEN_REGISTER    // pVASigCookie
+         mov             rdx, METHODDESC_REGISTER                // pUnmanagedTarget
+-        call            C_FUNC(GenericPInvokeCalliStubWorker)
++        call            EXTERNAL_C_FUNC(GenericPInvokeCalliStubWorker)
+ 
+         //
+         // restore target
+@@ -115,7 +115,7 @@ NESTED_ENTRY VarargPInvokeGenILStub, _TE
+         lea             rdi, [rsp + __PWTB_TransitionBlock]     // pTransitionBlock*
+         mov             rsi, PINVOKE_CALLI_SIGTOKEN_REGISTER    // pVASigCookie
+         mov             rdx, METHODDESC_REGISTER                // pMD
+-        call            C_FUNC(VarargPInvokeStubWorker)
++        call            EXTERNAL_C_FUNC(VarargPInvokeStubWorker)
+ 
+         //
+         // restore target
diff --git a/coreclr-git/patches/patch-src_vm_amd64_theprestubamd64.S b/coreclr-git/patches/patch-src_vm_amd64_theprestubamd64.S
new file mode 100644
index 0000000..0a64329
--- /dev/null
+++ b/coreclr-git/patches/patch-src_vm_amd64_theprestubamd64.S
@@ -0,0 +1,18 @@
+$NetBSD$
+
+--- src/vm/amd64/theprestubamd64.S.orig	2016-01-28 19:04:13.000000000 +0000
++++ src/vm/amd64/theprestubamd64.S
+@@ -14,7 +14,7 @@ NESTED_ENTRY ThePreStub, _TEXT, NoHandle
+         //
+         lea             rdi, [rsp + __PWTB_TransitionBlock]     // pTransitionBlock*
+         mov             rsi, METHODDESC_REGISTER
+-        call            C_FUNC(PreStubWorker)
++        call            EXTERNAL_C_FUNC(PreStubWorker)
+ 
+         EPILOG_WITH_TRANSITION_BLOCK_TAILCALL
+         TAILJMP_RAX
+@@ -27,4 +27,3 @@ LEAF_ENTRY ThePreStubPatch, _TEXT
+ PATCH_LABEL ThePreStubPatchLabel
+         ret
+ LEAF_END ThePreStubPatch, _TEXT
+-
diff --git a/coreclr-git/patches/patch-src_vm_amd64_umthunkstub.S b/coreclr-git/patches/patch-src_vm_amd64_umthunkstub.S
new file mode 100644
index 0000000..a7d9f75
--- /dev/null
+++ b/coreclr-git/patches/patch-src_vm_amd64_umthunkstub.S
@@ -0,0 +1,43 @@
+$NetBSD$
+
+--- src/vm/amd64/umthunkstub.S.orig	2016-01-28 19:04:13.000000000 +0000
++++ src/vm/amd64/umthunkstub.S
+@@ -17,7 +17,7 @@ NESTED_ENTRY TheUMEntryPrestub, _TEXT, U
+     END_PROLOGUE
+ 
+     mov rdi, METHODDESC_REGISTER 
+-    call C_FUNC(TheUMEntryPrestubWorker)
++    call EXTERNAL_C_FUNC(TheUMEntryPrestubWorker)
+     
+     // we're going to tail call to the exec stub that we just setup 
+ 
+@@ -75,7 +75,7 @@ NESTED_ENTRY UMThunkStub, _TEXT, Unhandl
+         //
+         // Call GetThread()
+         //
+-        call            C_FUNC(GetThread)
++        call            EXTERNAL_C_FUNC(GetThread)
+         test            rax, rax
+         jz              LOCAL_LABEL(DoThreadSetup)
+ 
+@@ -152,17 +152,17 @@ LOCAL_LABEL(PostCall):
+ 
+ 
+ LOCAL_LABEL(DoThreadSetup):
+-        call            C_FUNC(CreateThreadBlockThrow)
++        call            EXTERNAL_C_FUNC(CreateThreadBlockThrow)
+         jmp             LOCAL_LABEL(HaveThread)
+         
+ LOCAL_LABEL(InvalidTransition):
+         //No arguments to setup , ReversePInvokeBadTransition will failfast
+-        call            C_FUNC(ReversePInvokeBadTransition)
++        call            EXTERNAL_C_FUNC(ReversePInvokeBadTransition)
+ 
+ LOCAL_LABEL(DoTrapReturningThreadsTHROW):
+         mov             rdi, r12                                                                        // Thread* pThread
+         mov             rsi, [rbp - UMThunkStubAMD64_RBP_OFFSET + UMThunkStubAMD64_METHODDESC_OFFSET]   // UMEntryThunk* pUMEntry
+-        call            C_FUNC(UMThunkStubRareDisableWorker)
++        call            EXTERNAL_C_FUNC(UMThunkStubRareDisableWorker)
+ 
+         jmp             LOCAL_LABEL(InCooperativeMode)
+ 
diff --git a/coreclr-git/patches/patch-src_vm_amd64_unixasmhelpers.S b/coreclr-git/patches/patch-src_vm_amd64_unixasmhelpers.S
new file mode 100644
index 0000000..8b8ce19
--- /dev/null
+++ b/coreclr-git/patches/patch-src_vm_amd64_unixasmhelpers.S
@@ -0,0 +1,45 @@
+$NetBSD$
+
+--- src/vm/amd64/unixasmhelpers.S.orig	2016-01-28 19:04:13.000000000 +0000
++++ src/vm/amd64/unixasmhelpers.S
+@@ -26,7 +26,7 @@ LEAF_ENTRY PrecodeFixupThunk, _TEXT
+         lea     METHODDESC_REGISTER,[rax+r11*8]
+ 
+         // Tail call to prestub
+-        jmp C_FUNC(ThePreStub)
++        jmp EXTERNAL_C_FUNC(ThePreStub)
+ 
+ LEAF_END PrecodeFixupThunk, _TEXT
+ 
+@@ -113,7 +113,7 @@ NESTED_ENTRY NDirectImportThunk, _TEXT, 
+         // Call NDirectImportWorker w/ the NDirectMethodDesc*
+         //
+         mov             rdi, METHODDESC_REGISTER
+-        call            C_FUNC(NDirectImportWorker)
++        call            EXTERNAL_C_FUNC(NDirectImportWorker)
+         
+         RESTORE_FLOAT_ARGUMENT_REGISTERS 0
+ 
+@@ -160,7 +160,7 @@ NESTED_ENTRY JIT_RareDisableHelper, _TEX
+     // Second float return register
+     movdqa              xmmword ptr [rsp+0x10], xmm1
+ 
+-    call                C_FUNC(JIT_RareDisableHelperWorker)
++    call                EXTERNAL_C_FUNC(JIT_RareDisableHelperWorker)
+ 
+     movdqa              xmm0, xmmword ptr [rsp]
+     movdqa              xmm1, xmmword ptr [rsp+0x10]
+@@ -330,7 +330,7 @@ LEAF_ENTRY SinglecastDelegateInvokeStub,
+                                                                                       
+ NullObject:                                                                           
+         mov     rdi, CORINFO_NullReferenceException_ASM                               
+-        jmp     C_FUNC(JIT_InternalThrow)
++        jmp     EXTERNAL_C_FUNC(JIT_InternalThrow)
+                                                                                       
+ LEAF_END SinglecastDelegateInvokeStub, _TEXT
+ 
+@@ -372,4 +372,3 @@ LEAF_ENTRY StartUnwindingNativeFrames, _
+         mov     rdi, rsi 
+         jmp     EXTERNAL_C_FUNC(ThrowExceptionHelper)
+ LEAF_END StartUnwindingNativeFrames, _TEXT
+-
diff --git a/coreclr-git/patches/patch-src_vm_amd64_virtualcallstubamd64.S b/coreclr-git/patches/patch-src_vm_amd64_virtualcallstubamd64.S
new file mode 100644
index 0000000..60e8684
--- /dev/null
+++ b/coreclr-git/patches/patch-src_vm_amd64_virtualcallstubamd64.S
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- src/vm/amd64/virtualcallstubamd64.S.orig	2016-01-28 19:04:13.000000000 +0000
++++ src/vm/amd64/virtualcallstubamd64.S
+@@ -35,7 +35,7 @@ NESTED_ENTRY ResolveWorkerAsmStub, _TEXT
+         and             rcx,  7                                    // flags
+         sub             rsi, rcx                                   // indirection cell
+ 
+-        call            C_FUNC(VSD_ResolveWorker)
++        call            EXTERNAL_C_FUNC(VSD_ResolveWorker)
+ 
+         EPILOG_WITH_TRANSITION_BLOCK_TAILCALL
+         TAILJMP_RAX
+@@ -99,7 +99,7 @@ NESTED_ENTRY StubDispatchFixupStub, _TEX
+         mov             rdx,0                               // sectionIndex
+         mov             rcx,0                               // pModule
+ 
+-        call            C_FUNC(StubDispatchFixupWorker)
++        call            EXTERNAL_C_FUNC(StubDispatchFixupWorker)
+ 
+         EPILOG_WITH_TRANSITION_BLOCK_TAILCALL
+ PATCH_LABEL StubDispatchFixupPatchLabel
diff --git a/corefx-git/distinfo b/corefx-git/distinfo
index 75f93d2..b90c043 100644
--- a/corefx-git/distinfo
+++ b/corefx-git/distinfo
@@ -1,9 +1,4 @@
 $NetBSD$
 SHA1 (patch-src_Native_Common_pal__config.h.in) = 37fa257faf95a5da68f9dfa2e609afdaddd1ed9a
-SHA1 (patch-src_Native_System.Native_pal__errno.cpp) = f619d61f531e31cf80113553c7fcc84c15fd2798
-SHA1 (patch-src_Native_System.Native_pal__errno.h) = 12663841b61986caf2272c28ea7ac93da2940d6d
-SHA1 (patch-src_Native_System.Native_pal__interfaceaddresses.cpp) = 4f82e6f028fe2b9826ba6afb62869e42a0b6ee3d
-SHA1 (patch-src_Native_System.Native_pal__mount.cpp) = 7858f5ff60fcb0d60452648aef1b1034698e2c85
-SHA1 (patch-src_Native_System.Native_pal__networking.cpp) = 4f8ef34ed37564978e9370c6f07114b72ef36bd3
 SHA1 (patch-src_Native_configure.cmake) = c4d12c3a55c97804fd053c6923df08fe72c4d91d
 SHA1 (patch-src_Native_gen-buildsys-clang.sh) = efc34b0da3d11b1c66625336bb4d3c7ac5273b60
diff --git a/corefx-git/patches/patch-src_Native_System.Native_pal__errno.cpp b/corefx-git/patches/patch-src_Native_System.Native_pal__errno.cpp
deleted file mode 100644
index a9a7ccf..0000000
--- a/corefx-git/patches/patch-src_Native_System.Native_pal__errno.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-$NetBSD$
-
---- src/Native/System.Native/pal_errno.cpp.orig	2016-02-07 13:49:29.000000000 +0000
-+++ src/Native/System.Native/pal_errno.cpp
-@@ -126,8 +126,6 @@ extern "C" Error SystemNative_ConvertErr
-             return PAL_ENOTDIR;
-         case ENOTEMPTY:
-             return PAL_ENOTEMPTY;
--        case ENOTRECOVERABLE:
--            return PAL_ENOTRECOVERABLE;
-         case ENOTSOCK:
-             return PAL_ENOTSOCK;
-         case ENOTSUP:
-@@ -138,8 +136,6 @@ extern "C" Error SystemNative_ConvertErr
-             return PAL_ENXIO;
-         case EOVERFLOW:
-             return PAL_EOVERFLOW;
--        case EOWNERDEAD:
--            return PAL_EOWNERDEAD;
-         case EPERM:
-             return PAL_EPERM;
-         case EPIPE:
-@@ -298,8 +294,6 @@ extern "C" int32_t SystemNative_ConvertE
-             return ENOTDIR;
-         case PAL_ENOTEMPTY:
-             return ENOTEMPTY;
--        case PAL_ENOTRECOVERABLE:
--            return ENOTRECOVERABLE;
-         case PAL_ENOTSOCK:
-             return ENOTSOCK;
-         case PAL_ENOTSUP:
-@@ -310,8 +304,6 @@ extern "C" int32_t SystemNative_ConvertE
-             return ENXIO;
-         case PAL_EOVERFLOW:
-             return EOVERFLOW;
--        case PAL_EOWNERDEAD:
--            return EOWNERDEAD;
-         case PAL_EPERM:
-             return EPERM;
-         case PAL_EPIPE:
diff --git a/corefx-git/patches/patch-src_Native_System.Native_pal__errno.h b/corefx-git/patches/patch-src_Native_System.Native_pal__errno.h
deleted file mode 100644
index b54acbe..0000000
--- a/corefx-git/patches/patch-src_Native_System.Native_pal__errno.h
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD$
-
---- src/Native/System.Native/pal_errno.h.orig	2016-02-07 13:49:29.000000000 +0000
-+++ src/Native/System.Native/pal_errno.h
-@@ -84,13 +84,11 @@ enum Error : int32_t
-     PAL_ENOTCONN = 0x10038,        // The socket is not connected.
-     PAL_ENOTDIR = 0x10039,         // Not a directory or a symbolic link to a directory.
-     PAL_ENOTEMPTY = 0x1003A,       // Directory not empty.
--    PAL_ENOTRECOVERABLE = 0x1003B, // State not recoverable.
-     PAL_ENOTSOCK = 0x1003C,        // Not a socket.
-     PAL_ENOTSUP = 0x1003D,         // Not supported (same value as EOPNOTSUP).
-     PAL_ENOTTY = 0x1003E,          // Inappropriate I/O control operation.
-     PAL_ENXIO = 0x1003F,           // No such device or address.
-     PAL_EOVERFLOW = 0x10040,       // Value too large to be stored in data type.
--    PAL_EOWNERDEAD = 0x10041,      // Previous owner died.
-     PAL_EPERM = 0x10042,           // Operation not permitted.
-     PAL_EPIPE = 0x10043,           // Broken pipe.
-     PAL_EPROTO = 0x10044,          // Protocol error.
diff --git a/corefx-git/patches/patch-src_Native_System.Native_pal__interfaceaddresses.cpp b/corefx-git/patches/patch-src_Native_System.Native_pal__interfaceaddresses.cpp
deleted file mode 100644
index c78a90c..0000000
--- a/corefx-git/patches/patch-src_Native_System.Native_pal__interfaceaddresses.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD$
-
---- src/Native/System.Native/pal_interfaceaddresses.cpp.orig	2016-02-07 13:49:29.000000000 +0000
-+++ src/Native/System.Native/pal_interfaceaddresses.cpp
-@@ -8,6 +8,7 @@
- #include "pal_utilities.h"
- 
- #include <assert.h>
-+#include <sys/types.h>
- #include <ifaddrs.h>
- #include <net/if.h>
- #include <netinet/in.h>
diff --git a/corefx-git/patches/patch-src_Native_System.Native_pal__mount.cpp b/corefx-git/patches/patch-src_Native_System.Native_pal__mount.cpp
deleted file mode 100644
index b617698..0000000
--- a/corefx-git/patches/patch-src_Native_System.Native_pal__mount.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-$NetBSD$
-
---- src/Native/System.Native/pal_mount.cpp.orig	2016-02-07 13:49:29.000000000 +0000
-+++ src/Native/System.Native/pal_mount.cpp
-@@ -22,7 +22,11 @@ static int32_t GetMountInfo(MountPointFo
- {
- #if HAVE_MNTINFO
-     // getmntinfo returns pointers to OS-internal structs, so we don't need to worry about free'ing the object
-+#if HAVE_SYS_STATVFS
-+    struct statvfs* mounts = nullptr;
-+#else
-     struct statfs* mounts = nullptr;
-+#endif
-     int count = getmntinfo(&mounts, 0);
-     for (int32_t i = 0; i < count; i++)
-     {
-@@ -68,8 +72,13 @@ extern "C" int32_t SystemNative_GetSpace
-     assert(name != nullptr);
-     assert(mpi != nullptr);
- 
--    struct statfs stats = {};
-+#if HAVE_SYS_STATVFS
-+    struct statvfs stats = {};
-+    int result = statvfs(name, &stats);
-+#else
-+    struct statvfs stats = {};
-     int result = statfs(name, &stats);
-+#endif
-     if (result == 0)
-     {
-         // Note that these have signed integer types on some platforms but musn't be negative.
-@@ -98,13 +107,22 @@ SystemNative_GetFormatInfoForMountPoint(
-     assert((formatNameBuffer != nullptr) && (formatType != nullptr));
-     assert(bufferLength > 0);
- 
-+#if HAVE_SYS_STATVFS
-+    struct statvfs stats;
-+    int result = statvfs(name, &stats);
-+#else
-     struct statfs stats;
-     int result = statfs(name, &stats);
-+#endif
-     if (result == 0)
-     {
- 
- #if HAVE_STATFS_FSTYPENAME
-+#if HAVE_VFS_NAMELEN
-+        if (bufferLength < VFS_NAMELEN)
-+#else
-         if (bufferLength < MFSNAMELEN)
-+#endif
-         {
-             result = ERANGE;
-             *formatType = 0;
diff --git a/corefx-git/patches/patch-src_Native_System.Native_pal__networking.cpp b/corefx-git/patches/patch-src_Native_System.Native_pal__networking.cpp
deleted file mode 100644
index 7b5b423..0000000
--- a/corefx-git/patches/patch-src_Native_System.Native_pal__networking.cpp
+++ /dev/null
@@ -1,329 +0,0 @@
-$NetBSD$
-
---- src/Native/System.Native/pal_networking.cpp.orig	2016-02-08 16:12:54.000000000 +0000
-+++ src/Native/System.Native/pal_networking.cpp
-@@ -381,7 +381,138 @@ static void ConvertHostEntPlatformToPal(
-     }
- }
- 
--#if HAVE_GETHOSTBYNAME_R
-+#if defined(HAVE_GETNAMEINFO) || defined(HAVE_GETADDRINFO)
-+#define BUFFER_OVERFLOW 255
-+static int copy_hostent(struct hostent* from, struct hostent* to,
-+                        char* buffer, size_t buflen, int* error)
-+{
-+    int i, len;
-+    char* ptr = buffer;
-+
-+    *error = 0;
-+    to->h_addrtype = from->h_addrtype;
-+    to->h_length = from->h_length;
-+    to->h_name = static_cast<char*>(ptr);
-+
-+    /* copy hostname to buffer */
-+    len= static_cast<int>(strlen(from->h_name)+1);
-+    strcpy(ptr, from->h_name);
-+    ptr += len;
-+
-+    /* copy aliases to buffer */
-+    to->h_aliases = reinterpret_cast<char**>(ptr);
-+    for(i = 0; from->h_aliases[i]; i++);
-+    ptr += (i+1) * static_cast<int>(sizeof(char*));
-+
-+    for(i = 0; from->h_aliases[i]; i++)
-+    {
-+        len = static_cast<int>(strlen(from->h_aliases[i])+1);
-+        if (static_cast<size_t>((ptr-buffer)+len) < buflen)
-+        {
-+            to->h_aliases[i] = ptr;
-+            strcpy(ptr, from->h_aliases[i]);
-+            ptr += len;
-+        }
-+        else
-+        {
-+            *error = BUFFER_OVERFLOW;
-+            return *error;
-+        }
-+    }
-+    to->h_aliases[i] = NULL;
-+
-+    /* copy addr_list to buffer */
-+    to->h_addr_list = reinterpret_cast<char**>(ptr);
-+    for(i = 0; reinterpret_cast<int*>(from->h_addr_list[i]) != 0; i++);
-+    ptr += (i+1) * static_cast<int>(sizeof(int*));
-+
-+    for(i = 0; reinterpret_cast<int*>(from->h_addr_list[i]) != 0; i++)
-+    {
-+        len = sizeof(int);
-+        if (static_cast<size_t>((ptr-buffer)+len) < buflen)
-+        {
-+            to->h_addr_list[i] = ptr;
-+            memcpy(ptr, from->h_addr_list[i], static_cast<size_t>(len));
-+            ptr += len;
-+        }
-+        else
-+        {
-+            *error = BUFFER_OVERFLOW;
-+            return *error;
-+        }
-+    }
-+    to->h_addr_list[i] = 0;
-+    return *error;
-+}
-+#endif /* defined(HAVE_GETNAMEINFO) || defined(HAVE_GETADDRINFO) */
-+
-+#if defined(HAVE_GETNAMEINFO)
-+static int gethostbyname_r(char const* hostname, struct hostent* result,
-+                                       char* buffer, size_t buflen, hostent** entry, int* error)
-+{
-+#ifdef HAVE_PTHREAD_H
-+    if (fr_hostbyname == 0)
-+    {
-+        pthread_mutex_init(&fr_hostbyname_mutex, NULL);
-+        fr_hostbyname = 1;
-+    }
-+    pthread_mutex_lock(&fr_hostbyname_mutex);
-+#endif
-+
-+    *entry = gethostbyname(hostname);
-+    if ((!(*entry)) || ((*entry)->h_addrtype != AF_INET) || ((*entry)->h_length != 4))
-+    {
-+         *error = h_errno;
-+         *entry = NULL;
-+    }
-+    else
-+    {
-+         copy_hostent(*entry, result, buffer, buflen, error);
-+         *entry = result;
-+    }
-+
-+#ifdef HAVE_PTHREAD_H
-+    pthread_mutex_unlock(&fr_hostbyname_mutex);
-+#endif
-+
-+    return h_errno;
-+}
-+#endif /* defined(HAVE_GETNAMEINFO) */
-+
-+#if defined(HAVE_GETADDRINFO)
-+static int gethostbyaddr_r(const uint8_t* addr, const socklen_t len, int type, struct hostent* result,
-+                           char* buffer, size_t buflen, hostent** entry, int* error)
-+{
-+#ifdef HAVE_PTHREAD_H
-+    if (fr_hostbyaddr == 0)
-+    {
-+        pthread_mutex_init(&fr_hostbyaddr_mutex, NULL);
-+        fr_hostbyaddr = 1;
-+    }
-+    pthread_mutex_lock(&fr_hostbyaddr_mutex);
-+#endif
-+
-+    *entry = gethostbyaddr(reinterpret_cast<const char*>(addr), static_cast<unsigned int>(len), type);
-+    if ((!(*entry)) || ((*entry)->h_addrtype != AF_INET) || ((*entry)->h_length != 4))
-+    {
-+         *error = h_errno;
-+         *entry = nullptr;
-+    }
-+    else
-+    {
-+         copy_hostent(*entry, result, buffer, buflen, error);
-+         *entry = result;
-+    }
-+
-+#ifdef HAVE_PTHREAD_H
-+    pthread_mutex_unlock(&fr_hostbyaddr_mutex);
-+#endif
-+
-+    return h_errno;
-+}
-+#endif /* defined(HAVE_GETADDRINFO) */
-+
-+#if defined(HAVE_GETHOSTBYNAME_R) || defined(HAVE_GETNAMEINFO)
- static int GetHostByNameHelper(const uint8_t* hostname, hostent** entry)
- {
-     assert(hostname != nullptr);
-@@ -421,7 +552,7 @@ static int GetHostByNameHelper(const uin
-         }
-     }
- }
--#endif
-+#endif /* defined(HAVE_GETHOSTBYNAME_R) || defined(HAVE_GETNAMEINFO) */
- 
- extern "C" int32_t SystemNative_GetHostByName(const uint8_t* hostname, HostEntry* entry)
- {
-@@ -436,7 +567,7 @@ extern "C" int32_t SystemNative_GetHostB
- #if HAVE_THREAD_SAFE_GETHOSTBYNAME_AND_GETHOSTBYADDR
-     hostEntry = gethostbyname(reinterpret_cast<const char*>(hostname));
-     error = h_errno;
--#elif HAVE_GETHOSTBYNAME_R
-+#elif HAVE_GETHOSTBYNAME_R || HAVE_GETADDRINFO
-     error = GetHostByNameHelper(hostname, &hostEntry);
- #else
- #error Platform does not provide thread-safe gethostbyname
-@@ -451,7 +582,7 @@ extern "C" int32_t SystemNative_GetHostB
-     return PAL_SUCCESS;
- }
- 
--#if HAVE_GETHOSTBYADDR_R
-+#if defined(HAVE_GETHOSTBYADDR_R) || defined(HAVE_HOSTADDRINFO)
- static int GetHostByAddrHelper(const uint8_t* addr, const socklen_t addrLen, int type, hostent** entry)
- {
-     assert(addr != nullptr);
-@@ -491,7 +622,7 @@ static int GetHostByAddrHelper(const uin
-         }
-     }
- }
--#endif
-+#endif /* defined(HAVE_GETHOSTBYADDR_R) || defined(HAVE_HOSTADDRINFO) */
- 
- extern "C" int32_t SystemNative_GetHostByAddress(const IPAddress* address, HostEntry* entry)
- {
-@@ -1188,7 +1319,11 @@ extern "C" Error SystemNative_GetIPv4Mul
-         return PAL_EINVAL;
-     }
- 
-+#if HAVE_IP_MREQ
-+    ip_mreq opt;
-+#elif HAVE_IP_MREQN
-     ip_mreqn opt;
-+#endif
-     socklen_t len = sizeof(opt);
-     int err = getsockopt(socket, IPPROTO_IP, optionName, &opt, &len);
-     if (err != 0)
-@@ -1197,8 +1332,12 @@ extern "C" Error SystemNative_GetIPv4Mul
-     }
- 
-     *option = {.MulticastAddress = opt.imr_multiaddr.s_addr,
-+#if HAVE_IP_MREQ
-+               .LocalAddress = opt.imr_interface.s_addr};
-+#elif HAVE_IP_MREQN
-                .LocalAddress = opt.imr_address.s_addr,
-                .InterfaceIndex = opt.imr_ifindex};
-+#endif
-     return PAL_SUCCESS;
- }
- 
-@@ -1215,9 +1354,14 @@ extern "C" Error SystemNative_SetIPv4Mul
-         return PAL_EINVAL;
-     }
- 
-+#if HAVE_IP_MREQ
-+    ip_mreq opt = {.imr_multiaddr = {.s_addr = option->MulticastAddress},
-+                   .imr_interface = {.s_addr = option->LocalAddress}};
-+#elif HAVE_IP_MREQN
-     ip_mreqn opt = {.imr_multiaddr = {.s_addr = option->MulticastAddress},
-                     .imr_address = {.s_addr = option->LocalAddress},
-                     .imr_ifindex = option->InterfaceIndex};
-+#endif
-     int err = setsockopt(socket, IPPROTO_IP, optionName, &opt, sizeof(opt));
-     return err == 0 ? PAL_SUCCESS : SystemNative_ConvertErrorPlatformToPal(errno);
- }
-@@ -1729,21 +1873,29 @@ static bool TryGetPlatformSocketOption(i
- 
-                 // case PAL_SO_IP_DONTFRAGMENT:
- 
-+#ifdef IP_ADD_SOURCE_MEMBERSHIP
-                 case PAL_SO_IP_ADD_SOURCE_MEMBERSHIP:
-                     optName = IP_ADD_SOURCE_MEMBERSHIP;
-                     return true;
-+#endif
- 
-+#ifdef IP_DROP_SOURCE_MEMBERSHIP
-                 case PAL_SO_IP_DROP_SOURCE_MEMBERSHIP:
-                     optName = IP_DROP_SOURCE_MEMBERSHIP;
-                     return true;
-+#endif
- 
-+#ifdef IP_BLOCK_SOURCE
-                 case PAL_SO_IP_BLOCK_SOURCE:
-                     optName = IP_BLOCK_SOURCE;
-                     return true;
-+#endif
- 
-+#ifdef IP_UNBLOCK_SOURCE
-                 case PAL_SO_IP_UNBLOCK_SOURCE:
-                     optName = IP_UNBLOCK_SOURCE;
-                     return true;
-+#endif
- 
-                 case PAL_SO_IP_PKTINFO:
-                     optName = IP_PKTINFO;
-@@ -2317,8 +2469,13 @@ static Error CloseSocketEventPortInner(i
- static Error TryChangeSocketEventRegistrationInner(
-     int32_t port, int32_t socket, SocketEvents currentEvents, SocketEvents newEvents, uintptr_t data)
- {
-+#ifdef EV_RECEIPT
-     const uint16_t AddFlags = EV_ADD | EV_CLEAR | EV_RECEIPT;
-     const uint16_t RemoveFlags = EV_DELETE | EV_RECEIPT;
-+#else
-+    const uint16_t AddFlags = EV_ADD | EV_CLEAR;
-+    const uint16_t RemoveFlags = EV_DELETE;
-+#endif
- 
-     assert(currentEvents != newEvents);
- 
-@@ -2331,6 +2488,15 @@ static Error TryChangeSocketEventRegistr
-     int i = 0;
-     if (readChanged)
-     {
-+#if KEVENT_HAS_NUMERIC_DATA
-+        EV_SET(&events[i++],
-+               static_cast<uint64_t>(socket),
-+               EVFILT_READ,
-+               (newEvents & PAL_SA_READ) == 0 ? RemoveFlags : AddFlags,
-+               0,
-+               0,
-+               data);
-+#else
-         EV_SET(&events[i++],
-                static_cast<uint64_t>(socket),
-                EVFILT_READ,
-@@ -2338,6 +2504,7 @@ static Error TryChangeSocketEventRegistr
-                0,
-                0,
-                reinterpret_cast<void*>(data));
-+#endif
-     }
- 
-     if (writeChanged)
-@@ -2348,11 +2515,15 @@ static Error TryChangeSocketEventRegistr
-                (newEvents & PAL_SA_WRITE) == 0 ? RemoveFlags : AddFlags,
-                0,
-                0,
--               reinterpret_cast<void*>(data));
-+               data);
-     }
- 
-     int err;
-+#if KEVENT_REQUIRES_SIZE_T_NUMERICS
-+    while (CheckInterrupted(err = kevent(port, events, static_cast<size_t>(i), nullptr, 0, nullptr)));
-+#else
-     while (CheckInterrupted(err = kevent(port, events, i, nullptr, 0, nullptr)));
-+#endif
-     return err == 0 ? PAL_SUCCESS : SystemNative_ConvertErrorPlatformToPal(errno);
- }
- 
-@@ -2364,7 +2535,11 @@ static Error WaitForSocketEventsInner(in
- 
-     auto* events = reinterpret_cast<struct kevent*>(buffer);
-     int numEvents;
-+#if KEVENT_REQUIRES_SIZE_T_NUMERICS
-+    while (CheckInterrupted(numEvents = kevent(port, nullptr, 0, events, static_cast<size_t>(*count), nullptr)));
-+#else
-     while (CheckInterrupted(numEvents = kevent(port, nullptr, 0, events, *count, nullptr)));
-+#endif
-     if (numEvents == -1)
-     {
-         *count = -1;
-@@ -2382,7 +2557,11 @@ static Error WaitForSocketEventsInner(in
-     {
-         // This copy is made deliberately to avoid overwriting data.
-         struct kevent evt = events[i];
-+#if KEVENT_HAS_NUMERIC_DATA
-+        buffer[i] = {.Data = static_cast<unsigned long>(evt.udata), .Events = GetSocketEvents(static_cast<short>(evt.filter), static_cast<unsigned short>(evt.flags))};
-+#else
-         buffer[i] = {.Data = reinterpret_cast<uintptr_t>(evt.udata), .Events = GetSocketEvents(evt.filter, evt.flags)};
-+#endif
-     }
- 
-     *count = numEvents;



Home | Main Index | Thread Index | Old Index