> I stole much of the signal code from sysdeps/mach/hurd/alpha (is there an > Alpha port of the Hurd?).
Yowza! No, there has never been a working Alpha port of the Hurd. There once was an Alpha port of CMU Mach 3.0, so it was feasible enough, but it never actually happened. I really don't recall it clearly, but evidence (libc/ChangeLog.4) suggests that on November 15, 1994 someone handed me an Alpha architecture book, I got ahold of the header files from the CMU Mach port, and whipped up some code that looked right to me. I've never actually had my hands on any Alpha hardware, even to this day. So if you based your ppc code on my alpha code and came up with something that works, then, well shit, we BOTH must be damn good! :-) If asked, I would have suggested that you start with the mips code. The mips port was done by Kazumoto Kojima, and he did actually have it working at one point (though he seems to have lost all interest and doesn't work on the Hurd any more). That is the only RISC processor a working Hurd port had been done to before (the only finished port at all other than x86, in fact). > Actually, there is at least one bug in my powerpc code: in sigreturn, all > the registers are restored except for the one (CTR) which holds the > return value right before returning. I don't know if there is a way for a > thread to restore all of its registers. Every architecture so far (i.e. x86 and mips) has some version of this issue. There just isn't a way for user-mode code to atomically restore the PC, the stack pointer, and all the registers. On the x86, this is why sigaltstack doesn't work--the thread will just always have a window where it is on the wrong stack with signals enabled, so I don't even try to make sigaltstack work. On the mips, I recall he added a simple system call to do the atomic action at the end of sigreturn. It's been a long time since I thought about this stuff. We should probably revisit the whole picture here and see what we can do to make the code better, perhaps adding some kernel features. > Also, I have never tested if rpc_trampoline works. Well, if you can do "cat" and hit C-c while it's waiting in read and that works, then your rpc_trampoline ain't all bad. > I'll post my code as soon as I can, but it may take a couple of days. I look forward to seeing it. Perhaps this would be a good time for me to get a powerpc architecture manual. Are they easy to get for free like the intel manuals? _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd