Possibly building OpenAFS 64-bit for sparc

2007-07-16 Thread Russ Allbery
(I am not subscribed to debian-sparc, but I am subscribed to debian-devel.
If you don't cc debian-devel, please cc me.)

Hello folks,

OpenAFS (a distributed file system client and server with a fairly old
code base) has userspace client programs and servers that use its internal
lightweight threading library.  Upstream is working slowly on converting
this to pthreads for Linux, but we're not quite there yet.  In the
meantime, it needs to either know rather too much about the internals of
glibc data structures (which broke as of glibc 2.3) or it needs to have
getcontext/setcontext functions.

As of the upgrade to glibc 2.3, we've switched the OpenAFS packages for
all platforms over to using getcontext/setcontext.  The problem is that
these functions are not implemented for 32-bit SPARC, which means that the
client no longer works for Debian's sparc architecture.  This is a fairly
long-standing bug against glibc (Bug#295173) and it seems unlikely to me
that anyone wants to implement and maintain this code for 32-bit SPARC.

I've verified that building the OpenAFS userspace programs 64-bit instead
of 32-bit results in working binaries.

So, I'm looking for guidance at this point.  It seems like my alternatives
(other than convincing someone to implement these functions for 32-bit
SPARC) are to either drop the SPARC architecture for OpenAFS or to build
the OpenAFS packages 64-bit on SPARC, which I believe is against the
normal intention of the sparc architecture.  However, with the proposed
dropping of the 32-bit sparc kernel, perhaps building programs with these
sorts of technical requirements for the 64-bit environment is a reasonable
thing to do?

I welcome any advice.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Possibly building OpenAFS 64-bit for sparc

2007-07-16 Thread Russ Allbery
Russ Allbery [EMAIL PROTECTED] writes:

 In the meantime, it needs to either know rather too much about the
 internals of glibc data structures (which broke as of glibc 2.3) or it
 needs to have getcontext/setcontext functions.

 As of the upgrade to glibc 2.3, we've switched the OpenAFS packages for
 all platforms over to using getcontext/setcontext.

Bleh, sorry.  The breakpoint was glibc 2.4, not 2.3.  That was otherwise
going to be very confusing, given how old glibc 2.3 is.  I misread a  in
the code as =.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]