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

Possibly building OpenAFS 64-bit for sparc

(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 (rra@debian.org)               <http://www.eyrie.org/~eagle/>

Reply to: