<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&nbsp;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 &lt;<a href="mailto:groved@us.ibm.com" class="">groved@us.ibm.com</a>&gt; 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@">&lt;graycol.gif&gt;</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 &lt;<a href="mailto:phabouzit@apple.com" class="">phabouzit@apple.com</a>&gt;</font><br class=""><font size="2" color="#5F5F5F" class="">To:        </font><font size="2" class="">Philippe Hausler &lt;<a href="mailto:phausler@apple.com" class="">phausler@apple.com</a>&gt;</font><br class=""><font size="2" color="#5F5F5F" class="">Cc:        </font><font size="2" class="">David P Grove/Watson/IBM@IBMUS, Swift Core Libs &lt;<a href="mailto:swift-corelibs-dev@swift.org" class="">swift-corelibs-dev@swift.org</a>&gt;</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 &lt;</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="">&gt; 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 &lt;</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="">&gt; 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="">&nbsp;wrote on 01/13/2016 01:43:17 PM:<br class="">&gt; <br class="">&gt; Getting GCD up and rolling is definitely a bottleneck for a few <br class="">&gt; things (not just NSURLSession). </font></tt><font size="4" class=""><br class=""></font><tt class=""><font size="4" class=""><br class="">Thanks Philippe! &nbsp;I was looking for things to do :)<br class=""> <br class="">&gt; <br class="">&gt; There are a few things that we need as checkpoints:<br class="">&gt; A set of build instructions tailored for the swift project<br class="">&gt; 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. &nbsp;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). &nbsp;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="">&gt; We need to move Availability.h and friends down underneath both GCD <br class="">&gt; and Foundation since they both use them<br class="">&gt; We need to move the blocks runtime out of Foundation and underneath <br class="">&gt; or inside of GCD.<br class="">&gt; The master build script in swift/utils/build-script needs to be able<br class="">&gt; to build GCD<br class="">&gt; The master build script in swift/utils/build-script to ensure GCD <br class="">&gt; and all required components are built before Foundation and the <br class="">&gt; appropriate linker paths are passed to Foundation (see how XCTest is handled)<br class="">&gt; </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>