Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Jul 2003 21:46:40 -0400
From:      Mike Makonnen <mtm@identd.net>
To:        src-committers@FreeBSD.org
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/lib Makefile
Message-ID:  <20030720014640.GA45467@kokeb.ambesa.net>
In-Reply-To: <200307200134.h6K1Yeaf073616@repoman.freebsd.org>
References:  <200307200134.h6K1Yeaf073616@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jul 19, 2003 at 06:34:40PM -0700, Mike Makonnen wrote:
> mtm         2003/07/19 18:34:40 PDT
> 
>   FreeBSD src repository
> 
>   Modified files:
>     lib                  Makefile 
>   Log:
>   Now that we have the stubs for alpha and we can build it
>   on that platform, invert the test for the platforms on
>   which libthr is built. Amd64 and powerpc are the only
>   platforms excluded.

Even though libthr is now built by default on Alpha (I committed 
the stubs this morning) the resulting DSO won't work.
As scottl mentioned alpha is the only tier 1 platform libthr
doesn't build on yet, and I'm hoping that can be corrected soon.
I'm trying to make it as easy as possible for an interested 
person to pick it up.

This is the email I sent to freebsd-alpha:

----- Forwarded message from Mike Makonnen <mtm@identd.net> -----

Date: Sat, 19 Jul 2003 18:52:27 -0400
To: freebsd-alpha@freebsd.org
From: Mike Makonnen <mtm@identd.net>
Subject: libthr needs your help
User-Agent: Mutt/1.4.1i
X-Operating-System: FreeBSD/5.1-CURRENT (i386)

Hello folks,

I need a brave volunteer :-) to implement the remaining 2
(maybe 3) functions necessary to make libthr work on alpha. If it's
anything like sparc64 or ia64, then it will only be 5/6 lines
worth of code. I just committed the stubs this morning and they
compile fine. They can be found at:
src/lib/libthr/arch/alpaha/alpha/_curthread.c

The first function is _get_curthread(). The only thing it has to
do is return a pointer to the struct pthread of the current thread.

The _set_curthread() function takes three arguements: a pointer to
a ucontext_t, a pointer to a pthread, and a pointer to an integer
(in which to return an error). If alpha is anything like ia64 or
sparc64 then all this function needs to do is set the appropriate
register to the pthread pointer.

The _retire_thread() function is only necessary if you need to
do any special cleaning up when a thread is destroyed.

As far as I can tell this is the only remaining obstacle to
getting libthr functional on alpha. All the other kernel and libc
MD bits are already there.

-------- End ---------------

Cheers.
-- 
Mike Makonnen  | GPG-KEY: http://www.identd.net/~mtm/mtm.asc
mtm@identd.net | D228 1A6F C64E 120A A1C9  A3AA DAE1 E2AF DBCC 68B9
mtm@FreeBSD.Org| FreeBSD - Unleash the Daemon!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030720014640.GA45467>