Am 08.08.2013 um 03:22 hat Charlie Shepherd geschrieben: > On 06/08/2013 10:37, Kevin Wolf wrote: > >Am 05.08.2013 um 20:44 hat Charlie Shepherd geschrieben: > >>This patch series is a follow up to a previous RFC about converting > >>functions > >>that dynamically yield execution depending on whether they are in executing > >>in > >>a coroutine context or not to be explicitly statically annotated. This > >>change > >>is necessary for the GSoC CPC project, but was also agreed in an IRC > >>conversation on #qemu to be benefical overall if it can be upstream before > >>the > >>end of the project. This is an update to see if the approach I'm taking to > >>implementing this conversion is correct. > >> > >>In order to statically check the tree to ensure the annotations are correct, > >>I've been using CPC to compile the QEMU tree. This does a source to source > >>translation to convert coroutine code to continuation-passing style (the > >>purpose of the GSoC project), but as a side benefit statically checks > >>annotations (any functions annotated with coroutine_fn are transformed into > >>CPS, so have a different "calling style" to the standard C convention). > >> > >>In order to compile the tree with CPC: > >> $ git clone git://github.com/kerneis/cpc.git > >> $ cd cpc > >> $ make > >> $ ./configure > >> $ make > >> $ cd .. > >> $ export CPC=$(pwd)/cpc/bin/cpc > >> $ cd qemu > >> $ mkdir -p bin/cpc > >> $ cd bin/cpc > >> $ ../../configure --enable-debug --disable-werror > >> --target-list=x86_64-softmmu --cc="$CPC" > >> --extra-cflags="--noMakeStaticGlobal --useLogicalOperators --useCaseRange > >> --save-temps -U__SSE2__ -w -Dcoroutine_fn='__attribute__((__cps__))' > >> --docpsInference --warnall " > >> $ make > >Against which tree is this? It didn't apply on top of qemu-git master, > >nor on my block branch. > > Sorry, just to clarify, this isn't based on QEMU but is a repository > containing the CPC tool, which can then be used to statically check > QEMU; you'll need to clone it into its own repo. In this example it > should be a sibling directory to whichever QEMU checkout you're > testing it on.
Sorry, the quoted cover letter text was probably more confusing than helpful. I meant what qemu tree your patch series is against. Kevin