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

Re: Kaffe on GNU Hurd

On Sun, Jan 09, 2000 at 05:21:21PM +0100, Edouard G. Parmelan wrote:
> Hi Igor,
> I have download your changes on Kaffe for GNU Hurd and little rework it.
> All GNU Hurd will be aliased to hurd in config/config.alias.
> About SA_SIGINFO ignored on GNU/Linux I can explain why and you will see
> if it's applicable to GNU Hurd.
> Since Linux kernel 2.1.x, SA_SIGINFO is handle in the kernel.  When I
> handle on Sep 1998, I used glibc1.  With glibc2 it's also defined but
> kernel 2.0 simply ignore this flag.  As without SA_SIGINFO, signal
> handler already have struct sigcontext as second parameter, it's not
> necessary on GNU/Linux to set SA_SIGINFO to have struct siginfo to
> retreive stack pointer and program counter registers.
The Hurd does not use the Linux kernel, so any kernel specific workarounds 
that are done for Linux in general would not apply here. All signal handling 
is done through glibc. I'm not an expert on this so if you have any Hurd 
specific questions, you  can post them to here (debian-hurd@lists.debian.org).

Also here's some more useful information. After I compiled Kaffe, I ran make 
check in the source tree. IIRC there were 3 tests that failed.

preempting didn't work and the program was deadlocked after 
started 5 threads
thread 0

from what I could trace, it segfaulted in what seemed to be a 
function produced by the JIT. I haven't tried Kaffe without JIT yet, since 
right now my Hurd box is almost unusable because of file system corruption. I 
need to try a fresh install.

I think that was the last one that failed, i didn't get far with this one.

> I will commit your changes soon on cvs.kaffe.org,
> thanks for your patch.

Thanks, I'd like to try and solve the problem with putting file descriptors in 
ASYNC mode, however I doubt I'll be able to do anything before the end of the 

So can anyone post a simple example, that puts a descripter in ASYNC mode and 
doesn't hang on the Hurd?


Reply to: