|
Message-ID: <CAK4o1WzU-VxRJAx8_mDY--b9q9T0yXMHJWT9yopGOkh_qFyMyg@mail.gmail.com> Date: Mon, 30 Dec 2013 22:10:59 +0000 From: Justin Cormack <justin@...cialbusservice.com> To: musl@...ts.openwall.com Subject: Re: stat64 on mips On Mon, Dec 30, 2013 at 10:03 PM, Rich Felker <dalias@...ifal.cx> wrote: > On Mon, Dec 30, 2013 at 10:02:19PM +0000, Justin Cormack wrote: >> On Mon, Dec 30, 2013 at 9:29 PM, Rich Felker <dalias@...ifal.cx> wrote: >> > On Mon, Dec 30, 2013 at 06:20:46PM +0000, Justin Cormack wrote: >> >> MIPS is the most confusing architecture, but as far as I can make out, >> >> the definition of struct stat64 that Musl has is probably the right >> >> one for mips n32 but wrong for mips o32 which should be >> >> >> >> struct stat { >> >> unsigned long st_dev; >> >> unsigned long __st_pad0[3]; >> >> unsigned long long st_ino; >> >> mode_t st_mode; >> >> nlink_t st_nlink; >> >> uid_t st_uid; >> >> gid_t st_gid; >> >> unsigned long st_rdev; >> >> unsigned long __st_pad1[3]; >> >> long long st_size; >> >> time_t st_atime; >> >> unsigned long st_atime_nsec; >> >> time_t st_mtime; >> >> unsigned long st_mtime_nsec; >> >> time_t st_ctime; >> >> unsigned long st_ctime_nsec; >> >> unsigned long st_blksize; >> >> unsigned long __st_pad2; >> >> long long st_blocks; >> >> }; >> >> >> >> It does appear that the syscalls for the two ABIs differ in this... >> > >> > This structure is identical to the one in musl except that it has >> > 32-bit dev_t plus padding in place of 64-bit dev_t, and the musl >> > version has reserved space at the end. Can you check whether the dev_t >> > issue is actually a problem (it might be, based on endianness, and if >> > so I think it would require ugly fixups in userspace)? >> >> Ah no, my mistake, you are right, the padding seems correct and I was >> getting confused as usual by dev_t. However the 64 bit dev_t is a >> problem on bigendian mips. >> >> (Whats the reason for Musl using 64 bit dev_t? glibc compatibility?) > > And room for expansion, and consistency of the type between archs. > There's no justification for dev_t or similar types to be > arch-specific. But isnt the kernel dev_t 32 bit for all archs? Justin
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.