Some notes here, now that I've thought some more and done some more:
>> I caught the output of make to get the full compile command and added >> ../libpthread/cancel-cond.o into it manually, and saved it as a shell script. >> Barry, or someone, rewrote cancel-cond.c from cthreads into a pthreads one. >Ah, OK, so that's only an infrastructure issue, which indeed should be >fixed properly at some point. I figured out why I needed to include the one object file: the libpthread.a linker script was linking to the system libpthread2, instead of the libpthread2 that I had built. Forcing it to build with that breaks it. I doesn't work as a translator anymore. The system libpthread2... should be the Debian one, either from the image, or from hurd-20120408 (which installed when I asked for hurd-dbg and libc-dbg). Now, the translator gets into __pthread_setup and dies there with an assertion failure: invalid port (thread: it just called __thread_set_pcsptp). On the bright side, now trying to boot with it and trying to use it as a translator both crash at the same point. That should make it easier to figure out what's going on, when I have more time. Sorry to get your hopes up, Thomas D