Re: [PATCH] ppc64: Fix PER_LINUX32 behaviour

From: David S. Miller
Date: Wed Jun 08 2005 - 18:21:48 EST


From: Paul Mackerras <paulus@xxxxxxxxx>
Date: Thu, 9 Jun 2005 09:12:16 +1000

> There is still a point of difference between ppc64 and x86_64: on
> ppc64 (and on sparc64), if the personality is PER_LINUX32, the
> personality(0xffffffffUL) system call returns PER_LINUX, and attempts
> to set the personality to PER_LINUX don't change the personality
> (i.e. it stays set to PER_LINUX32), for both 32-bit and 64-bit
> processes. On x86_64 this is true for 32-bit processes but not for
> 64-bit processes AFAICT. Does anyone know why we do this at all, and
> whether doing it for 64-bit processes makes sense?

We do this because, at least when this code was written,
glibc would do a personality(PER_LINUX) call (either via
the dynamic linker or via some other libc startup code)
and this would undo the PER_LINUX32 setting.

Therefore, it makes sense to do this for all cases, not
just for 32-bit processes. The x86_64 code ought to be
fixed, I think.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/