[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Getting libpthread working again

From: Thomas Schwinge
Subject: Re: Getting libpthread working again
Date: Tue, 23 Jun 2009 00:05:42 +0200
User-agent: Mutt/1.5.11


On Sun, Apr 12, 2009 at 05:32:12PM +0200, I wrote:
> When linking the pthread tests against a libpthread built (with Samuel's
> TLS patches) from CVS HEAD (or any of the Viengoos branches, for that
> matter) I always get this:
>     $ ./test-1
>     test-1: ../../HEAD/libpthread/sysdeps/mach/hurd/i386/pt-setup.c:103:
>     __pthread_setup: Unexpected error: (ipc/send) invalid destination
>     port.
>     Aborted
>     $ ./test-1-static 
>     test-1-static:
>     ../../HEAD/libpthread/sysdeps/mach/hurd/i386/pt-setup.c:103:
>     __pthread_setup: Unexpected error: (ipc/send) invalid destination
>     port.
>     Aborted
> I tracked this down to the 2008-08-16 __pthread_free_threads change --
> apparently nobody ever tried to use the CVS HEAD libpthread since then?
> (We absolutely need to come up with better automated testing methods...)
> The pthread library was now trying to reuse kernel threads that have been
> invalidated before.  I created the attached patch to get that fixed again
> (plus the malloc to calloc patch needed for CVS HEAD).  Neal, is this
> approach correct?  I have stolen the thread_suspend thing from Viengoos
> -- is that correct for Mach as well?  (And the while (1) loop is
> superfluous for all variants, isn't it?)  At least, this way all of the
> libpthread test suite programs complete to satisfaction, both dynamically
> and statically linked.

I now put my preliminary (unfinished) patch into the
master-fix_have_kernel_resources branch.  The commit currently also has
some additional comments by Neal in the commit message (for the next
person to work on it).

I also published a patch in master-fix_inline to fix an inlining problem
that I discovered when using Debian unstable's gcc-4.4.  Neal, Samuel, is
this fine for master?

Already some weeks ago, I published master-tls_support containing
Samuel's TLS support for libpthread.  How are we going to proceed with
that one?

And then, today I created and now published master-stand-alone whose
purpose is it to dissolve the libpthread package's build system from the
Hurd proper's.  It works and yields identical binaries.  But please give
it some more testing before we merge it into master.  Also, someone could
Automakifize the test suite.

For all changes, I'll try to update the Viengoos code as needed, when we
merge them in.

Again, some simple instructions about how to review commits in branch B:

    $ git clone git://git.savannah.gnu.org/hurd/libpthread.git
    $ cd libpthread/
    $ git log --reverse -p --find-copies-harder -C --cc origin/master..B


Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]