On Tue, 28 Jun 2005 18:14:14 +0200 Andi Kleen <[EMAIL PROTECTED]> wrote: > > No, you're defining an arch specific macro to tell you that > the current process was loaded from a 32bit executable. > It does not tell you anything how the kernel was entered. > > Subtle but important difference.
Thats why my patch was just an example implementation (that happens to
work for us currently).
> The right thing to do is what all the other non broken compat
> functions do - figure out from the original system call entry
> point if you're in compat context or not.
>
> This typically requires a special path.
At least up to the point that you can flag it for further processing (see
the socket control message processing code).
We still have the signal delivery problem - a 32 bit binary running on
ppc64 needs the correct signal stack etc set up for it. I guess most of
the 64bit arches have the equivalent of
if (test_thread_flag(TIF_32BIT))
return do_signal32(oldset, regs);
in do_signal().
--
Cheers,
Stephen Rothwell [EMAIL PROTECTED]
http://www.canb.auug.org.au/~sfr/
pgpkoKFPySOCw.pgp
Description: PGP signature
