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/

Attachment: pgpkoKFPySOCw.pgp
Description: PGP signature

Reply via email to