<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Tony brought up an important point about the prep for integration this morning: the blocks runtime from libblocksruntime-dev will be incompatible with the layout of blocks referenced from swift since the object size there is 2 uint32’s bigger to handle the RR (we don’t have objc). Without modifying clang and the runtime we won’t have a way to properly handoff blocks back and forth w/o objc.</div><div class=""><br class=""></div><div class="">I am currently taking a look at this to see what we can do to add an option to the clang code-gen to properly emit this structural difference. This isn’t a big issue for Foundation to CF since we don’t have many block APIs but dispatch is mostly blocks and that might pose an issue.</div><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 13, 2016, at 2:55 PM, David P Grove <<a href="mailto:groved@us.ibm.com" class="">groved@us.ibm.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><p class="">On the branch that the pthread wq pull request comes from, libdispatch builds on Ubuntu 14 and tests run. <br class=""><br class="">So, no more problems lurking behind that one.<br class=""><br class="">--dave<br class=""><br class=""><span id="cid:1__=0ABBF5AADFEEAF4A8f9e8a93df938690918c0AB@"><graycol.gif></span><font color="#424282" class="">Pierre Habouzit ---01/13/2016 02:53:53 PM---it needs pthread wq changes that are still in review (the pull request is tagged as such). -Pierre</font><br class=""><br class=""><font size="2" color="#5F5F5F" class="">From: </font><font size="2" class="">Pierre Habouzit <<a href="mailto:phabouzit@apple.com" class="">phabouzit@apple.com</a>></font><br class=""><font size="2" color="#5F5F5F" class="">To: </font><font size="2" class="">Philippe Hausler <<a href="mailto:phausler@apple.com" class="">phausler@apple.com</a>></font><br class=""><font size="2" color="#5F5F5F" class="">Cc: </font><font size="2" class="">David P Grove/Watson/IBM@IBMUS, Swift Core Libs <<a href="mailto:swift-corelibs-dev@swift.org" class="">swift-corelibs-dev@swift.org</a>></font><br class=""><font size="2" color="#5F5F5F" class="">Date: </font><font size="2" class="">01/13/2016 02:53 PM</font><br class=""><font size="2" color="#5F5F5F" class="">Subject: </font><font size="2" class="">Re: [swift-corelibs-dev] libdispatch prep for integration to the rest of swift-corelibs</font><br class=""><font size="2" color="#5F5F5F" class="">Sent by: </font><font size="2" class=""><a href="mailto:phabouzit@apple.com" class="">phabouzit@apple.com</a></font><br class=""></p><hr width="100%" size="2" align="left" noshade="" style="color:#8091A5; " class=""><br class=""><br class=""><br class=""><font size="4" class="">it needs pthread wq changes that are still in review (the pull request is tagged as such).</font><br class=""><br class=""><font size="4" class="">-Pierre </font><br class="">
<ul class=""><ul class=""><font size="4" class="">On Jan 13, 2016, at 11:11 AM, Philippe Hausler via swift-corelibs-dev <</font><a href="mailto:swift-corelibs-dev@swift.org" class=""><u class=""><font size="4" color="#0000FF" class="">swift-corelibs-dev@swift.org</font></u></a><font size="4" class="">> wrote:</font><br class=""><br class=""><font size="4" class="">Splitting this off to it’s own thread since this is not per-se networking related</font><br class="">
<ul class=""><ul class=""><font size="4" class="">On Jan 13, 2016, at 11:07 AM, David P Grove <</font><a href="mailto:groved@us.ibm.com" class=""><u class=""><font size="4" color="#0000FF" class="">groved@us.ibm.com</font></u></a><font size="4" class="">> wrote:</font><br class=""><p class=""><a href="mailto:phausler@apple.com" class=""><tt class=""><u class=""><font size="4" color="#0000FF" class="">phausler@apple.com</font></u></tt></a><tt class=""><font size="4" class=""> wrote on 01/13/2016 01:43:17 PM:<br class="">> <br class="">> Getting GCD up and rolling is definitely a bottleneck for a few <br class="">> things (not just NSURLSession). </font></tt><font size="4" class=""><br class=""></font><tt class=""><font size="4" class=""><br class="">Thanks Philippe! I was looking for things to do :)<br class=""> <br class="">> <br class="">> There are a few things that we need as checkpoints:<br class="">> A set of build instructions tailored for the swift project<br class="">> GCD needs to be able to build on Ubuntu 14 as well as Ubuntu 15</font></tt><font size="4" class=""><br class=""></font><tt class=""><font size="4" class=""><br class="">I can take a look at Ubuntu 14. I know that one of the issues was the old version of libpthread_workqueue (under discussion for other reasons; we need fixes that aren't in the Ubuntu 15 version). I'll see if there is anything else standing in the way for Ubuntu 14. </font></tt></p></ul></ul><br class=""><font size="4" class="">I am getting a build failure on 14:</font><br class=""><br class=""><font size="4" class="">/bin/bash ../libtool --tag=CC --mode=compile clang -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -DDISPATCH_USE_DTRACE=0 -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c -o queue.lo queue.c</font><br class=""><font size="4" class="">libtool: compile: clang -DHAVE_CONFIG_H -I. -I../config -I.. -I.. -I../private -I../os -DDISPATCH_USE_DTRACE=0 -Wall -fvisibility=hidden -momit-leaf-frame-pointer -I/usr/include/kqueue -isystem /usr/include/bsd -DLIBBSD_OVERLAY -fblocks -g -O2 -c queue.c -fPIC -DPIC -o .libs/queue.o</font><br class=""><font size="4" class="">queue.c:216:22: error: use of undeclared identifier 'WORKQ_BG_PRIOQUEUE'</font><br class=""><font size="4" class=""> .dgq_wq_priority = WORKQ_BG_PRIOQUEUE,</font><br class=""><font size="4" class=""> ^</font><br class=""><font size="4" class="">queue.c:227:22: error: use of undeclared identifier 'WORKQ_BG_PRIOQUEUE'</font><br class=""><font size="4" class=""> .dgq_wq_priority = WORKQ_BG_PRIOQUEUE,</font><br class=""><font size="4" class=""> ^</font><br class=""><font size="4" class="">queue.c:928:18: error: invalid application of 'sizeof' to an incomplete type 'struct dispatch_root_queue_context_s []'</font><br class="">
<ul class=""><ul class=""><tt class=""><font size="4" class=""><br class="">> We need to move Availability.h and friends down underneath both GCD <br class="">> and Foundation since they both use them<br class="">> We need to move the blocks runtime out of Foundation and underneath <br class="">> or inside of GCD.<br class="">> The master build script in swift/utils/build-script needs to be able<br class="">> to build GCD<br class="">> The master build script in swift/utils/build-script to ensure GCD <br class="">> and all required components are built before Foundation and the <br class="">> appropriate linker paths are passed to Foundation (see how XCTest is handled)<br class="">> </font></tt><font size="4" class=""><br class=""></font><tt class=""><font size="4" class=""><br class="">--dave</font></tt><font size="4" class=""><br class=""></font></ul></ul><font size="4" class=""><br class=""></font><br class=""><font size="4" class="">_______________________________________________<br class="">swift-corelibs-dev mailing list</font><u class=""><font size="4" color="#0000FF" class=""><br class=""></font></u><a href="mailto:swift-corelibs-dev@swift.org" class=""><u class=""><font size="4" color="#0000FF" class="">swift-corelibs-dev@swift.org</font></u></a><font size="4" class=""><br class=""></font><font size="4" class=""><a href="https://lists.swift.org/mailman/listinfo/swift-corelibs-dev" class="">https://lists.swift.org/mailman/listinfo/swift-corelibs-dev</a></font></ul></ul><br class=""><br class=""><br class="">
</div>
</div></blockquote></div><br class=""></body></html>