-
Notifications
You must be signed in to change notification settings - Fork 471
Merge darwin/libdispatch-806 to master and apply Linux build fixes #215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Daniel A. Steffen <[email protected]>
[SE-0111] Update for removal of argument labels from function types Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
fix issues preventing overlay from compiling due to SE-0025 Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Update for Unsafe(Mutable)Pointer changes. Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
[SE-0101] Migrate sizeof family to MemoryLayout Signed-off-by: Daniel A. Steffen <[email protected]>
Adding @escaping option as required by the compiler. Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
[SE-0103][noescape by default] Migration to @NoEscape by default feature. Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Update libpwq for fix to race condition in libpwq's test_api Signed-off-by: Daniel A. Steffen <[email protected]>
…endency Eliminate the external dependency on libBlocksRuntime.so by copying the blocks runtime code from swift-corelibs-foundation/closure and building it into libdispatch. Added a configure option to control whether or not the blocks runtime is embedded; defaults to embedded on Linux and not embedded on other platforms. Since the blocks runtime is embedded; we can take the link directive out of the module.modulemap file. This change enables dispatch to be built and run on a system without the libblocksruntime-dev package installed. Signed-off-by: Daniel A. Steffen <[email protected]>
SR-2309: embed BlocksRuntime in libdispatch to eliminate external dep… Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Added Toolchain section in INSTALL.md Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
update INSTALL.md and README.md Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
fixes for compilation/linking problems on linux Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
…Uint8> with a nil address. Radar 29337927 Signed-off-by: Daniel A. Steffen <[email protected]>
Fixes crash when DispatchData is created from an UnsafeBufferPointer<UInt8> with a nil address (Radar 29337927) Signed-off-by: Daniel A. Steffen <[email protected]>
…seconds: 0) (Radar 28814085) (SR-2807) Signed-off-by: Daniel A. Steffen <[email protected]>
Adding documentation to clarify the result of DispatchTime(uptimeNanoseconds: 0) Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Remove ObjC support functions not needed on non-ObjC platforms Signed-off-by: Daniel A. Steffen <[email protected]>
The include of sys/user.h is not needed; it is a leftover from the initial linux port. Eliminating it avoids a build problem for the Swift dispatch overlay on ubuntu 14.04 powerpc64le because the content of sys/user.h confuses the clang module importer when it attempts to import CDispatch. Signed-off-by: Daniel A. Steffen <[email protected]>
Remove unused include of sys/user.h Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
Signed-off-by: Daniel A. Steffen <[email protected]>
w.r.t Swift 3.1 backport for this, the number of diffs between master and swift-3.1-branch is so small right now (and all look like they should be included in Swift 3.1) that it probably makes sense to just merge master into swift-3.1-branch after we merge this ? |
Collection of small fixes to dispatch-806 merge to allow code to compile/link/run on Linux.
…rge-master-linux-fixes Linux fixes for dispatch-806 merge
@swift-ci Please test |
looks like the CI build failed with
@dgrove-oss is that something new with this branch ? |
this seems suspicious (Build #68)
and there was no configure of maybe this is a submodule initialization issue again ? |
I agree it looks like the PR testing by swift-ci didn't do the submodule init/update step when it checked out libdispatch. When that happens, the build "succeeds" by configuring libdispatch to not use libpwq and we manage to build a libdispatch.so but this is a fairly broken configuration. It falls over on the 'make distclean' because the top-level Makefile includes libpwq as a subdir, but libpwq is empty (and therefore not configured or included in the build). Post merge, we probably should try to fail the build earlier instead of allowing Linux to build without libpwq (at least for as long as we have libpwq as a submodule). I think a tweak to the configure.ac would do it. |
ok, thanks, makes sense, I'll go ahead and merge without despite the CI build failure then, given you had built this manually for Linux with the #216 patch. |
Merge tag darwin/libdispatch-806 on darwin/trunk.
This includes Apple source drops libdispatch-743, libdispatch-749 & libdispatch-806 as well as all the github PR’s that we’ve pulled back into our internal repository since PR #142 (along with any changes made to these during internal review and testing on Darwin.)
One of the bigger changes included is a switch away from libkqueue to a native epoll()-based event loop backend
@dgrove-oss has a patch ready to apply on top of this with Linux build fixes