On Wed, 30 Jan 2002 14:46:47 -0800 (PST),
"David S. Miller" <davem@xxxxxxxxxx> wrote:
>All the values that go through these syscalls seem to be
>opaque and filesystem specific. Therefore can I ask the filesystems
>that use these things use fixed sized types such as "u32" "u16" et al.
>instead of things such as "long" or "int"?
Absolutely agree.
>The reason I ask is, unless strict sized types are used it is going
>to be a real pain in the ass to translate the types passed to these
>system calls in mixed 32-bit/64-bit environments. This is thus going
>to be a mess on sparc64, ppc64, mips64, ia64, and probably others I
>have forgotten :-)
Hopefully not for ia64. The ia32 compatibility mode syscall table is a
subset of the i386 table, in particular new syscalls and Linux specific
ones tend not to be in arch/ia64/ia32. ia32 mode on ia64 is not a long
term compatibility aim, it is intended for running existing binaries
that cannot be recompiled for native ia64 mode. I strongly recommend
that the ACL syscalls are NOT added to arch/ia64/ia32. We have the
source, compile the ACL programs in native ia64 mode.
Sparc64 and mips64 are a problem as long as the kernel is 64 bit and
userspace is 32 bit. I don't know if the kernel/userspace size
mismatch applies to ppc64 as well or if it is more like ia64.
|