>It is failing because perl expects the returned array of GIDs to be
>32 bit integers, whereas they are actually 16 bit integers.
>glibc's bits/types.h has __gid_t as __u_int, whereas the kernel header
>asm/posix_types.h has "typedef unsigned short  __kernel_gid_t"
>
>Is glibc2.1 at fault here?

Yes, I think it is.

The ARM port is missing the getgroups implementation that knows how to 
convert from 16-bit __kernel_gid_t to 32-bit gid_t as seen by user space.  
I'll make a patch which will hopefully be in the next release.

Meantime you should be able to fix it on your system by copying 
libc/sysdeps/unix/sysv/linux/i386/getgroups.c into 
libc/sysdeps/unix/sysv/linux/arm/.

Thanks for the detailed report.  This sort of thing has been mentioned before 
but never with enough concrete information that I was able to spot the problem.

p.


unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to