From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10166 invoked by alias); 13 Nov 2013 08:17:23 -0000 Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org Received: (qmail 10154 invoked by uid 89); 13 Nov 2013 08:17:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=2.7 required=5.0 tests=AWL,BAYES_20,GARBLED_BODY,RDNS_NONE,URIBL_BLOCKED autolearn=no version=3.3.2 X-HELO: relay1.mentorg.com Received: from Unknown (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 13 Nov 2013 08:17:21 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1VgVdJ-00038n-IR from ChungLin_Tang@mentor.com ; Wed, 13 Nov 2013 00:17:05 -0800 Received: from SVR-ORW-FEM-04.mgc.mentorg.com ([147.34.97.41]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Wed, 13 Nov 2013 00:17:05 -0800 Received: from 110-29-68-19.adsl.fetnet.net (147.34.91.1) by svr-orw-fem-04.mgc.mentorg.com (147.34.97.41) with Microsoft SMTP Server id 14.2.247.3; Wed, 13 Nov 2013 00:17:04 -0800 Message-ID: <5283357D.2050205@codesourcery.com> Date: Wed, 13 Nov 2013 08:17:00 -0000 From: Chung-Lin Tang User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: "Joseph S. Myers" CC: Chris Metcalf , "libc-ports@sourceware.org" , Andrew Pinski Subject: Re: struct statfs/statfs64 in linux-generic References: <52774A2F.5010505@codesourcery.com> <527BF01B.9080704@tilera.com> <527F42AF.8060204@codesourcery.com> In-Reply-To: Content-Type: multipart/mixed; boundary="------------050200050208070700080702" X-IsSubscribed: yes X-SW-Source: 2013-11/txt/msg00007.txt.bz2 --------------050200050208070700080702 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Content-length: 1638 On 13/11/12 上午1:48, Joseph S. Myers wrote: > On Sun, 10 Nov 2013, Chung-Lin Tang wrote: > >> I think I found my problem, which is more simpler than I thought: unlike >> the majority of targets, 64-bit types are 4-byte aligned under Nios II, >> which causes a 4-byte difference between the glibc/kernel structure >> definitions because the kernel one doesn't have >> __attribute__((aligned(8))) forced on to it. >> >> Stack alignment is 4-bytes as well in nios2, so I'll probably be >> maintaining that and using a specific nios2/bits/statfs.h header without >> the double-word alignment bits. > > Are you sure this is the only place in the kernel/userspace ABI where > linux-generic is assuming natural alignment? > generic/bits/stat.h also has use of __attribute__(aligned()), though the field elements happen to amount to an even number of words, so no such inconsistency there; just that user code will enforce additional alignment. The problem I think is the use of the hard coded "8", so instead of requiring ports like nios2 to possess nearly identical header files (without the alignment attributes), how about the attached patch that changes it to use __alignof__(type64) instead? Thanks, Chung-Lin 2013-11-13 Chung-Lin Tang ports/ * sysdeps/unix/sysv/linux/generic/bits/stat.h (__field64): Use __alignof__(type64) in alignment attribute instead of 8. * sysdeps/unix/sysv/linux/generic/bits/statfs.h (__field64): Use __alignof__(type64) in alignment attribute instead of 8. (struct statfs): Use __alignof__(__u64) in alignment attribute instead of 8. (struct statfs64): Likewise. --------------050200050208070700080702 Content-Type: text/plain; charset="UTF-8"; x-mac-type=0; x-mac-creator=0; name="x.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="x.diff" Content-length: 2806 ZGlmZiAtLWdpdCBhL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dl bmVyaWMvYml0cy9zdGF0LmggYi9wb3J0cy9zeXNkZXBzL3VuaXgvc3lzdi9s aW51eC9nZW5lcmljL2JpdHMvc3RhdC5oCmluZGV4IDZlNzRjZWMuLmZlYjVm MmIgMTAwNjQ0Ci0tLSBhL3BvcnRzL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4 L2dlbmVyaWMvYml0cy9zdGF0LmgKKysrIGIvcG9ydHMvc3lzZGVwcy91bml4 L3N5c3YvbGludXgvZ2VuZXJpYy9iaXRzL3N0YXQuaApAQCAtNDYsMTAgKzQ2 LDEwIEBACiAjIGRlZmluZSBfX2ZpZWxkNjQodHlwZSwgdHlwZTY0LCBuYW1l KSB0eXBlIG5hbWUKICNlbGlmIF9fQllURV9PUkRFUiA9PSBfX0xJVFRMRV9F TkRJQU4KICMgZGVmaW5lIF9fZmllbGQ2NCh0eXBlLCB0eXBlNjQsIG5hbWUp IFwKLSAgdHlwZSBuYW1lIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKDgp KSk7IGludCBfXyMjbmFtZSMjX3BhZAorICB0eXBlIG5hbWUgX19hdHRyaWJ1 dGVfXygoX19hbGlnbmVkX18gKF9fYWxpZ25vZl9fICh0eXBlNjQpKSkpOyBp bnQgX18jI25hbWUjI19wYWQKICNlbHNlCiAjIGRlZmluZSBfX2ZpZWxkNjQo dHlwZSwgdHlwZTY0LCBuYW1lKSBcCi0gIGludCBfXyMjbmFtZSMjX3BhZCBf X2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXyg4KSkpOyB0eXBlIG5hbWUKKyAg aW50IF9fIyNuYW1lIyNfcGFkIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9f IChfX2FsaWdub2ZfXyAodHlwZTY0KSkpKTsgdHlwZSBuYW1lCiAjZW5kaWYK IAogc3RydWN0IHN0YXQKZGlmZiAtLWdpdCBhL3BvcnRzL3N5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L2dlbmVyaWMvYml0cy9zdGF0ZnMuaCBiL3BvcnRzL3N5 c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dlbmVyaWMvYml0cy9zdGF0ZnMuaApp bmRleCA3MDYzYzdhLi41NGVkZWI1IDEwMDY0NAotLS0gYS9wb3J0cy9zeXNk ZXBzL3VuaXgvc3lzdi9saW51eC9nZW5lcmljL2JpdHMvc3RhdGZzLmgKKysr IGIvcG9ydHMvc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2VuZXJpYy9iaXRz L3N0YXRmcy5oCkBAIC0zOCwxMCArMzgsMTAgQEAKICMgZGVmaW5lIF9fZmll bGQ2NCh0eXBlLCB0eXBlNjQsIG5hbWUpIHR5cGUgbmFtZQogI2VsaWYgX19C WVRFX09SREVSID09IF9fTElUVExFX0VORElBTgogIyBkZWZpbmUgX19maWVs ZDY0KHR5cGUsIHR5cGU2NCwgbmFtZSkgXAotICB0eXBlIG5hbWUgX19hdHRy aWJ1dGVfXygoX19hbGlnbmVkX18oOCkpKTsgaW50IF9fIyNuYW1lIyNfcGFk CisgIHR5cGUgbmFtZSBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXyAoX19h bGlnbm9mX18gKHR5cGU2NCkpKSk7IGludCBfXyMjbmFtZSMjX3BhZAogI2Vs c2UKICMgZGVmaW5lIF9fZmllbGQ2NCh0eXBlLCB0eXBlNjQsIG5hbWUpIFwK LSAgaW50IF9fIyNuYW1lIyNfcGFkIF9fYXR0cmlidXRlX18oKF9fYWxpZ25l ZF9fKDgpKSk7IHR5cGUgbmFtZQorICBpbnQgX18jI25hbWUjI19wYWQgX19h dHRyaWJ1dGVfXygoX19hbGlnbmVkX18gKF9fYWxpZ25vZl9fICh0eXBlNjQp KSkpOyB0eXBlIG5hbWUKICNlbmRpZgogCiBzdHJ1Y3Qgc3RhdGZzCkBAIC01 OCw3ICs1OCw3IEBAIHN0cnVjdCBzdGF0ZnMKICAgICBfX1NXT1JEX1RZUEUg Zl9mcnNpemU7CiAgICAgX19TV09SRF9UWVBFIGZfZmxhZ3M7CiAgICAgX19T V09SRF9UWVBFIGZfc3BhcmVbNF07Ci0gIH0gX19hdHRyaWJ1dGVfXygoX19h bGlnbmVkX18oOCkpKTsKKyAgfSBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRf XyAoX19hbGlnbm9mX18gKF9fdTY0KSkpKTsKIAogI3VuZGVmIF9fZmllbGQ2 NAogCkBAIC03Nyw3ICs3Nyw3IEBAIHN0cnVjdCBzdGF0ZnM2NAogICAgIF9f U1dPUkRfVFlQRSBmX2Zyc2l6ZTsKICAgICBfX1NXT1JEX1RZUEUgZl9mbGFn czsKICAgICBfX1NXT1JEX1RZUEUgZl9zcGFyZVs0XTsKLSAgfSBfX2F0dHJp YnV0ZV9fKChfX2FsaWduZWRfXyg4KSkpOworICB9IF9fYXR0cmlidXRlX18o KF9fYWxpZ25lZF9fIChfX2FsaWdub2ZfXyAoX191NjQpKSkpOwogI2VuZGlm CiAKIC8qIFRlbGwgY29kZSB3ZSBoYXZlIHRoZXNlIG1lbWJlcnMuICAqLwo= --------------050200050208070700080702--