From patchwork Fri Sep 9 15:49:57 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 101820 Delivered-To: patch@linaro.org Received: by 10.140.106.11 with SMTP id d11csp415662qgf; Fri, 9 Sep 2016 08:50:41 -0700 (PDT) X-Received: by 10.98.137.211 with SMTP id n80mr7792847pfk.80.1473436241451; Fri, 09 Sep 2016 08:50:41 -0700 (PDT) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id m9si4430497pan.86.2016.09.09.08.50.41 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Sep 2016 08:50:41 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-return-73199-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org; spf=pass (google.com: domain of libc-alpha-return-73199-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-73199-patch=linaro.org@sourceware.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id :mime-version:content-type; q=dns; s=default; b=eeTtnk6NFBk+m1Jt cFViF35c5pxfuRnwZ60VX7eS87+aTWYOvu+9+xdJPM/DSLd+PybAyz2vO/Y9TXmI wfqQ2DocpVk3AcLsgbaVJ0PRWE9s73o744Lu6eJVLlqOCJwny5g75GIIdhXD/eNR dBs4tY7U3PnVnHBLkdtvGhJlfhg= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id :mime-version:content-type; s=default; bh=3tt2ggTq7LNvKGR2OwimOL 1VAVs=; b=PGludJYB82vbZRYauRaeJLN0Se8aQsd94vb01e6P6vIpv6CW9OIggi 1jShuxeqM+lvdBWDMzgaqK234/sghjV0bsmb8z5UoIItIPWgB+B3Gylu960w8ELy dN5lgeFnPcOUqafwyae6pQkPO1izsv+JsTSo6kG7qOEYrPhWxRwpw= Received: (qmail 1381 invoked by alias); 9 Sep 2016 15:50:31 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 1365 invoked by uid 89); 9 Sep 2016 15:50:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: NAM03-CO1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; From: Yury Norov To: CC: Yury Norov Subject: [RFC PATCH 0/2] AARCH64/ILP32: support stat syscalls Date: Fri, 9 Sep 2016 18:49:57 +0300 Message-ID: <1473436199-3305-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-ClientProxiedBy: AM3PR03CA044.eurprd03.prod.outlook.com (10.141.191.172) To DM3PR07MB2251.namprd07.prod.outlook.com (10.164.33.149) X-MS-Office365-Filtering-Correlation-Id: 1bb1a34b-f851-4b55-7a9d-08d3d8c8ffb0 X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2251; 2:v7vqPVxQaWLa1s36zJLVPNZPzmP8LPVVIfmID2r+11rPpO6VPJv3ummnLGvX2JfmSpNLAC53mEHDsIPZ1gtjPA/qEmwOY2kLloeFlLVYxj576a7Pb5W2mrla3sNXIDg8sGcSraiXgkEJ0yBsdgkUMu4ZA8l1a62M1bQdw9rPZmmvHbGFr3qg0oV3B56Lb2J8; 3:qUpgv2PW8WswcEt+Vj7D7wo7PWyqDvPRqzl9rqZwc7VopcORM2sW9Bl0ORak8w2tyKeEuCu5pDmH1AHPxvAzPDkUF0b6YbGyYSw6132wnfYoJCphcNS3VNp+RRPPSeVl; 25:r8p/XoLQL4Ib0iwC8pNJQ4M42Nc/qyntW4hHPJhUtkxKSNMYKw5NX6YuFfoof9VqT0w+EvXZoOO5NfT18uuX/mMgw0UjILkPdwUVhsR3R2svzAvZ9/OL33U7TNxtEA8+NnQvFhFhD8CgYQzRy52vQVL/rplnVvb9gvrru3ZpJd0gh6KQwhvNck30xx8Bc8YOVSioHpOXlLVEL1Kfnw+vn9iMwbyfPf/IHTnKkW0smwxwDdm2YS70QMBhNcBfZ1VaMbSS9pe59b5qUVJ74PGLl6qwyHkMXf+y2zgFJU2AN63F3kvSa1r/jIVexchwyNU0C/Bn5wktNpi0fW9aDUOfpH5bDVx0CBn02RJNdlVPCuybN082F1mGkqbtGxHLjr05c8Y64xII3np64Tt52e1uaE49Owa602z/PdyvLFmgHmM= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR07MB2251; X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2251; 31:lA2jUP8nJf+o0s98AVaVSTEIoGC7T5Ay9yhI55RjvxAPqJzny0iuxwnkG63n1Tis7M9kX4GF9QkI481U5t6cjZz2OIQeHHjvGIO6FGeLGHvsYOYK6OsgrbfJUFxMreXDTly5Zpss/UifNB3QwHp1wJKzipn2yc73TnHUGREHWuzgJGkNiEd42uwuQAfVKEdsLutFpzFKRC2/H/P534CAzXazqxJUCuexUx63JpIFwuE=; 20:MbuHMch/JW9Z+mQ5dAV4MgYY5NYWkl01pwJvDX64yHGcdpDoViazUljcnb47v912LWPV3BePYVN/XnCj1CFhWed1b+8doeeJM0/yX7UGT13mOdJAhC1A2zugKf4Ntf500hOUpjJmiVrWJTAUx5xnesFfZnbfGfiu0UdCCBvV9NoKZV/lXQEo5hdf8St63vTMyn1NBUydjy0c9xr1F5aKj1tjcbjRVl9tOhqoW8rhyZiOjuhTqaLsCCUu2+2fRG3SVeGG8bphXUjWQTuj/VSfH6ZTQJ1tIMeB/E0vjql0HY6enJYatH5nlnM55gCZn1GrQvdAr9ch2pGIObItnaSHsW4miPREXBor6vs+IMUoH7Cnw6c4u60CWd6mpatG2LMPMctnUpIZSHKfqfdwEFt6OFf9xj7H4NBI5zp2TVHCACZrQ4cSph6q86Ukt7dUydnW5th2d+hJ4JwWVw2kTUXzgVRukZTvWuTvUgCFKMmbW4hVDG3wyBlTOGoPKjEZ4jvA1hV8vJX3jztsN8KdnbthRZ4OYjzg3CzHmzWhhwsW13sswrclb8nqAm8tBM5rMnl6zuXC7oV5pARg+pcjxiAZpqHX1HhJGmOj011DgQePwUY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046); SRVR:DM3PR07MB2251; BCL:0; PCL:0; RULEID:; SRVR:DM3PR07MB2251; X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2251; 4:ou04QiByRsUHthtouSGExJ5ZGYmduzU/xmHlpgP7wT8vevnr7acXqnbtADzWSy+DBYDsEUdXppwLbt6o5MOk1fe6nIb/ECqbHc11MYwU2Hj3jeaYqcaFO+tkOXmo2xG4awwh3f18X0QT01QRK7OT/X57mx067u19JUAUYOeMyZ+o/gwiokNPJhTpWsDXjZ4DslAvuqrus4o81tD6vScQVpr4+eR9YHcNTy4y8hS620tBTVgNh4y4N5poMB/xfAgo6R4d7/rKjM2kIVGW15SbuQhI5XxJX4kwoAKbKsX6KM6rmVY1RzyB7O+z4Rf3wrpgHLYIJXgOj4Xn2WGmA37UQWT8dcijwMVhzoSqCqeKP+PCflBjZma7fwfwR9KEsMRpQ9Vw6ddL2LI7oF32057ePh9xtGwxVES8K/Bxwkx5Q4w2KO7jG0QoULa11gRMd9SR X-Forefront-PRVS: 00603B7EEF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(189002)(199003)(101416001)(66066001)(36756003)(68736007)(189998001)(48376002)(19580395003)(33646002)(2906002)(305945005)(4326007)(5660300001)(97736004)(4001430100002)(586003)(5003940100001)(50466002)(47776003)(229853001)(2351001)(81156014)(106356001)(6116002)(81166006)(3846002)(8676002)(42186005)(450100001)(15975445007)(76506005)(105586002)(7736002)(50986999)(77096005)(107886002)(7846002)(110136002)(50226002)(92566002)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM3PR07MB2251; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2251; 23:stTQGKAwSaInd9dPZ+yxVixOciY/9zecoctCg3TJBdBLsoTv6X0aeKIZtRlaf4LpHi4hrEbVCjuK8uxC0dQQ1wgAPG4EXOD0vzX34KzeBxciVlYoa0DqHrQeeRcs+G7IfmEhLEkaOqpm25ZaPdA0vviU/MM9zS9+LezdPlFhXEtRLvGoIqLQ6nWQ2XhYgNrTagQdXNJ/dQwwQl+v60TkoIc2DJ5gN/CjSHsNhpP/iS+nvCnqRK3WPJqawUBZW0Sei5MgNbirGIgCb0tMDtDpb7W92bJmbvlvw1usK0YfA9EV8Ai/rGyYJcfqtEzralXU1IFdMlCqYV88w0pt6+n4MuCkyky5VoWDggl/5Eg7Iyk7+N+AwlRzWBKe0x9gouF8XNQQlEI1uDuocDNwBcav+wCpPgyFIDTq98UatmbIXHDF2wlXeh2zcS147s/Tbb2C1qX0EBwUOfiMMDZWX5Z+nIwSldFThLILOxXI5YN5ADc9PmioyBFPco+cKRJbcxeEEzHLOvOafPpIAH+BwwptrD0pVcxgZ7SLFWyUqbVvbONeNvi3JaNhBd916wpxLXneHIh+PBCAfJdaTMOD00gSw2oHTM/7F3wYtCpoNI9qL4MToW1UCNVehbc94Q5hyt2G/WEm+5olzX9J5zeLRzZkrLVSuGJ68yqk7fxvmEvUSToOca/hA7H1S0fl2Xoy+yZLu+tV4h/wPmvanUr6GydzBvV+CmKgBqmSPTKHS+GqJQpWsxO+XLI7KTeFd5UXeu5wXlYmSOEWSE7ckNeTxvzC7iAhBxGkJliqJAQYfx8heu4LgeoTBSsxgXA/waV3cB9kQo7dfznf/4xT3iwiAfCVUQoTNXGHYYMX5AFM3tF5ZGe+5NLktd5k6Y652yMmTx2N6UqEYw4VVrNo80GNNWp6v//JuWUjxlXZADIDHvWY6Vhz9CenwlklIq97mYOt2JOjpHw8WwOMhMOrqwq/IMuAqHeTYj+YuKFPcPTbRGioIWuETvTtKF5LcSM4Jn+6/VLjURZJZm1zVbkvrbfL+u/URWauith6Yp2ncJjhfw27YQa6razos/YPEpf9hRKZ8LStb1gA54CdXrGIb0909S/r1VHB6sSYuxC77Suh98UFGxcHm7XLWGfffUurlH45DLZ0mGW6Nc4rz8K0A8e26ce4PA== X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2251; 6:pX6ObwqGQxx2uC7haWBseRqkFkygsb3J6YYejQehBZdqAYyWflsajq/Z9fJeKMBpNZPp9ONsBk/uFDlq1kpDehriZcRU9iuicVQmvm6FPpJAvTmQNVjKi3Vdusx4MQEf07ksSL8lpVCBrd8XOOYn6V4aLOFgfhe6Br8VtbeNgmbyrdV35wnuD51zWd9Ay16dKgRe3YT4SlNAK0BQ7bT6K3/md7fmdxMFp6v5mzDJoVsiE1mScaEbIwO2AAMdwiw/JsFdPNE8/J65CwRq/afv5XxqdCWPvzpOil/qR0iZOaY=; 5:GIFcN6OgDozdwmBfUjdA59HrwXsonWcnetxD/JbyTasaRCGdKt+Zn026o8ab31dgWWzcckh9yer+dAuRA4T/m8RgIafR69jzZagW8sf/R7T2LFmOMk/ldAwKOpNPaF69AiTZpic7V4c2+7x+X6ZeHw==; 24:sjPdFEHefrVaS3JUAxiERy6KfEyUaSJoTn8cCNBR+Sb+7aZjw1HcylAWkVfzw8mLTD4GPcPUoW9Ky32F2np2hGelRbiVhHKvMmHnaYVgd4E=; 7:aneRUvHaJSVImSyDWwAj8EcVmGmJ1qCru6lnyiSAt+/UnU1qI2u7u75/T3IFWOXr6VIgOwAjbTmBgyDSgAN7S2xwrC0ucuMueWsAUxCOwQ+1FBdHSNV7+JND+0L3KUIJuQXj/EbZWh1BnUbsOdoZD0V0nGZvQEEY6Er5R0uLi8O6fXXjK0Fm25btOCAzk3kRVwTfXVLfuZVH3dDaaWIMr+8F8uDnyES8fPyqUmi/RWF4yV5xOnJym2rJwY8dwDfg SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2016 15:50:18.1003 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR07MB2251 This is another implementation for stat syscalls. I tried to follow all comments. It defines custom struct stat to avoid annoying copying, and implements custom statfs syscalls to be compatible to lp64. The rest is taken from generic code. XSTAT_IS_XSTAT64 and STAT_IS_KERNEL_STAT are enabled to reuse code and bypass __xstat_conv(). First patch is the preparing work and not related to aarch64/ilp32 directly. It may be applied separately. Notice that kernel ABI is changed, so pull latest version for testing: https://github.com/norov/linux/tree/linux-stat https://github.com/norov/glibc/tree/glibc-stat Yury Norov (2): generic/wordsize-32: don't duplicate lxstat, xstat if XSTAT_IS_XSTAT64 is enabled [AARCH64] ILP32: stat syscalls sysdeps/unix/sysv/linux/aarch64/bits/stat.h | 166 +++++++++++++++++++++ sysdeps/unix/sysv/linux/aarch64/bits/statfs.h | 68 +++++++++ sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs64.c | 35 +++++ sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat64.c | 1 + .../unix/sysv/linux/aarch64/ilp32/kernel_stat.h | 7 + sysdeps/unix/sysv/linux/aarch64/ilp32/statfs.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c | 38 +++++ .../unix/sysv/linux/generic/wordsize-32/lxstat.c | 2 + .../unix/sysv/linux/generic/wordsize-32/lxstat64.c | 7 + .../unix/sysv/linux/generic/wordsize-32/xstat.c | 2 + .../unix/sysv/linux/generic/wordsize-32/xstat64.c | 7 + 15 files changed, 338 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/aarch64/bits/stat.h create mode 100644 sysdeps/unix/sysv/linux/aarch64/bits/statfs.h create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/kernel_stat.h create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/statfs.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c -- 2.7.4