From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/4438 Path: news.gmane.org!not-for-mail From: Justin Cormack Newsgroups: gmane.linux.lib.musl.general Subject: Re: stat64 on mips Date: Mon, 30 Dec 2013 22:15:26 +0000 Message-ID: References: <20131230212953.GL24286@brightrain.aerifal.cx> <20131230220339.GM24286@brightrain.aerifal.cx> <20131230221341.GN24286@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1388441733 14218 80.91.229.3 (30 Dec 2013 22:15:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 30 Dec 2013 22:15:33 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-4442-gllmg-musl=m.gmane.org@lists.openwall.com Mon Dec 30 23:15:41 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1Vxl7b-0002nx-Mn for gllmg-musl@plane.gmane.org; Mon, 30 Dec 2013 23:15:39 +0100 Original-Received: (qmail 6020 invoked by uid 550); 30 Dec 2013 22:15:39 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 6012 invoked from network); 30 Dec 2013 22:15:38 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=specialbusservice.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=KWft36vHxZOf1k0ROn/9EAGEL3gB82Z6FCVbpaTKPi0=; b=TSlxTDQ+vYadaaMySOZmBdGSkpt1nNAUIdSWvvtJGzI9FYGDMAuKwA5gtuZayD8YpY rSdn9VpokThyuZsKtJ4uL1SGtNJJf8CZRNdDjveVDeMkvSruNzAJwIspOIXsiv1KJ1EA lEs5JcKEH1LFmE+WUUm847u8l/xWgMNGT5BBk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=KWft36vHxZOf1k0ROn/9EAGEL3gB82Z6FCVbpaTKPi0=; b=Ga50Lz0D3cRUftfX62WbxiXUDCDJJWXbqRwgy8CVuY0G0ECRexlzPXO+ttyrKPQdZF +tcp5VkHKqLg4y4LaaTG0gSeS4jBn+YlPQn6Or3MmHqBXaowD8tREaEvDP3xmUjnLwQu hwA9UkSxgU4agcVw/dvm1mc19ae3sR86X1Ph+gNrd88HPKHwHGB8LYebl0uX+UhSX3TZ L9EjnDpMGNItyWfNNgAOIIj2zkLYkqmeR9Cr9P1TOaotWq8mPOSVcTlt8xIfQKu50Cdk 1mIuFefxD/c+Aaljj/l2K1pj2Rn1PYql2KGj37NL0Htbx0DXejJ31vCAtaMqTqjtFbEG RMZA== X-Gm-Message-State: ALoCoQn+U+2dlUBh272PUOEaK2P7pVTJZMhhK50bwq0CDRTR3GRodCH3e35z8VmtlppdtWq4X7cz X-Received: by 10.68.230.228 with SMTP id tb4mr71566692pbc.108.1388441726554; Mon, 30 Dec 2013 14:15:26 -0800 (PST) In-Reply-To: <20131230221341.GN24286@brightrain.aerifal.cx> Xref: news.gmane.org gmane.linux.lib.musl.general:4438 Archived-At: On Mon, Dec 30, 2013 at 10:13 PM, Rich Felker wrote: > On Mon, Dec 30, 2013 at 10:10:59PM +0000, Justin Cormack wrote: >> On Mon, Dec 30, 2013 at 10:03 PM, Rich Felker 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 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? > > Yes and no. They have adjacent padding reserved to make it up to > 128-bit, despite the fact that intmax_t is 64-bit everywhere and thus > 128-bit types can't really be used. I suspect on big-endian the > padding is at the other side to allow for this already, but it might > be misaligned with respect to the 64/128 bit size in musl at present. Let me just double check on both endians. Maybe I made a mistake... Justin