Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 30 Dec 2013 16:29:53 -0500
From: Rich Felker <>
Subject: Re: stat64 on mips

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)?


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.