From patchwork Tue Jun 21 05:07:05 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 13263 Received: (qmail 28731 invoked by alias); 21 Jun 2016 05:13:36 -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 20554 invoked by uid 89); 21 Jun 2016 05:13:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: na01-bn1-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 , Yury Norov Subject: [PATCH 21/27] [AARCH64] ILP32: introduce syscalls that pass off_t Date: Tue, 21 Jun 2016 08:07:05 +0300 Message-ID: <1466485631-3532-23-git-send-email-ynorov@caviumnetworks.com> In-Reply-To: <1466485631-3532-1-git-send-email-ynorov@caviumnetworks.com> References: <1466485631-3532-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-ClientProxiedBy: HE1PR03CA0040.eurprd03.prod.outlook.com (10.163.170.178) To BN4PR07MB2241.namprd07.prod.outlook.com (10.164.63.147) X-MS-Office365-Filtering-Correlation-Id: 71c89f3d-5d1d-4578-4fec-08d39992844a X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2241; 2:YipLwhB15415WcnTuRaS/s0HaP7Qme7IX9xShb/zn6NEMjdpZJHMrTR490IclJ1KqelpOvZPbUT+1n/PjzufkS1hXQdvzcEDUOjOevRAmvKOXA0uD8S/KugHA556OnMeK9roUsxiVRMpTqtp+vMplQTaOTGd13W0+QaMLr6htXfkPH98gXite+zegWzd9SXh; 3:yIMNK/i/Pbj3kQ0n+eUIVwgKztybV/nKA+KQl3CaxSYuEezyVhfQm+dU1E/JDG53pIQbeoVIXjsiyANL2cETXJ/re07LT49Vu2lQweg1EXeygS7fkQMc/YcPHsmePvbE; 25:G7h6BX7P9xUCYJx2VduFQ0mjw31VUWr3Fta4ynkpgTkmHF2Suj8T2Tx8gdQUiezszQka42Y2MtWCvJ2yWiOIqMCEIqhhCgslzcSZbV0jQItrTCa9bySJRh9B1O2w7didKdqKUGl5hI4NYL0ApYgD3jhQ8YgbG55r2fF47Iuo8mMwTHn5fSgSMO6g6BcetR5MVda6P8VgQJD2qYKGyKq1YZ2vrX/lE+kpYFpihrBwOOmHXBfKSCqqyDr5E9x4bTPSs2X+ZTOh9KO9vA71h+79iOP+0rpyXNTR7Ku3r42tGnDUct7McA024eydHKH8P5bIru1VqIFq0Nn0/Bu+Y5blf+fRS6ajiCBYZONL6alr+g7lJHk0f1DOf2nFvbs0GGv5tAprs1XREqkTW4qjPQj4GAcZO5qq7k0rKA6yZxPlohI= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2241; X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2241; 20:iOR5lAthN5pCPlaZ1EHt7Ylaxz2FEswftnq2fyiiT3c06DD98U8vfLz3xi1fq9Qq6MKuHCiP6czzgXbjWuNdW1nKdu0C33zepzVzxaO7J+bMe1OYT3mHM3LnrboFqJ8iMhgd/2KRJxDC6MUyqVlbrfH/WnLhe9nXjSUL30LsDSWFSFF/f8OrpX5uGq+l+CuVgm/i0xoEyZ/dp5ZoXCisBhgYngDh7NzAZUoNHHTuEo+DXc7e/rPEbEHfB2REqO/Fik6IS9Q36kE1mPethUU0XYc93z4tg2uwmjWQXvWyHw84Lno1NjTJ9zSAi4rgZqpKIaOkqHBBqecuZCzPn64nm/fYQSsen562CWkeyKKjQQG7m8uW0T98OKM4EJ8GfuPqCDfgnj/sBdg24wuha+g/3wrC9fFunRpwQJ8hummXX1X5iok+DW0vS8udwXWvQYCQ30GKueWrYCBizlVl8WpneC4qADtwcJP7BoPAWMHrN5Ubp233ncrKxX4Al63DkZy8HZR4wSRHHuN2/zh3c6yPig43QB+Q2zud63Q8p2uVEJSSuqAyi+w2E689+qE6efa+3jFRcirQyzJVFC/JJLZYomI4KwneN91F8ok9agZD7R0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(250305191791016)(22074186197030); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046); SRVR:BN4PR07MB2241; BCL:0; PCL:0; RULEID:; SRVR:BN4PR07MB2241; X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2241; 4:N+ysRB677NSCtdQ3XFDrOBL5UZeFQSSlXLf4zndMq6rP9V52M4CSE4R4T0RZF9xRgL6GwSOJwlGfcl7h4uy/POQuG4tx2vRnIFDJ4NtjJ/m7LqEPcgIiGgr9Y05MO4U7wlckLmjHhW1ajzM1lGMX/Z2xqgfoUMXFJz8ykM+BrhDh2tf4SlyRwkfTIrwHbUu5xIwsyd7U6aOdQXpGdI3iu0IQyIkV/k5GzUkq57F+AQfuHb13CCo+TaF4Hz+l8J/nGlVAF4ARAaSafeHe/Gjr5ax9zWrkhg9HHBR1uaS6wBHJ10Ivg0aYigLK69vs31CaRQi2AO7B0xUv7EqARHEbgzQpSsldzaPE5UQSVJS6de8nUajD/Fz2M3D3WgibwhIlneMu43R4IvVwaoCVfww8K2HCnIp5ccCfFiAMjaeapzmjo3oA96aK9h1T7q8rN6rw X-Forefront-PRVS: 098076C36C X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(199003)(189002)(77096005)(105586002)(42186005)(50226002)(106356001)(68736007)(76506005)(229853001)(7846002)(4326007)(5003940100001)(19580405001)(7736002)(36756003)(50466002)(19580395003)(15975445007)(47776003)(3846002)(586003)(6116002)(2950100001)(66066001)(81156014)(76176999)(2906002)(50986999)(33646002)(92566002)(48376002)(5001770100001)(189998001)(81166006)(8676002)(101416001)(4001430100002)(97736004)(107886002)(575784001)(2004002)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN4PR07MB2241; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN4PR07MB2241; 23:LIYHKisxEvzUJbjJRfsIFdShMw4mC/oSHtO1zOIDF?= =?us-ascii?Q?BJTHEdCKDvS9o1c8yCs2ozndz2FyjUyBetfyeuukRlJ1O7rPaA7Ig4qGid5v?= =?us-ascii?Q?0C8cobBHpUk5V1J4eQyYhmHL/Wppu+KmrwrVZ3sX+aAH2vLFhLQvJ5UvZSGI?= =?us-ascii?Q?n/O4B9leLX6/W1vbw0iOapaQNWPPVilkZO1HkpZaivJ+rz/EixV/FpDVh+yR?= =?us-ascii?Q?Cj86zWgUBvK+1Z0aOnRczErlC+P+kC4RXzg2JgeMTrmLIM5zgdzjFTaZ25v3?= =?us-ascii?Q?zPxD8hPvv41bzEAu+/wcGZ2IlWlDQ2zPsHLHdb8XhabUY+sb1zeo8FWSJFVi?= =?us-ascii?Q?18RR6zOWf3x2r3g0SXSkvZWt9elfMaZdYSy2nGe6wubsxqyaC4aLKNKbL/1m?= =?us-ascii?Q?ZNwrG9F4HF1cACvz7ti9vMbfQrRzRiEFii2JT0DFWoN/1eDGufumUtm1eUJt?= =?us-ascii?Q?qlpaSZ4V/0gn9PhWZiabvTTbiS3gwGWCl/16fsZ6fw4Iq4JhWRpJ7vevmw12?= =?us-ascii?Q?DDX8uf/FEeYleSs9oFItQdx8KIbbnauweIii0X6+AgyJ5fhxLq8tnTsjmMAO?= =?us-ascii?Q?9AGB+2rtQjCT+1SRBai8zrHu9jpWHSy0U/jVsafIxNljxJb0pTTGx0fuZUY/?= =?us-ascii?Q?hhCi6CEGjWu4zDwujgFI9cObsEmxg6uk6H/f0i9q20eYALRzcoNeGykRrh52?= =?us-ascii?Q?JweI4o3j+0bCG+elIhVqdtBHqMECo4jWH2e9z+CoNRpPRgAzN2fLsLwImBDz?= =?us-ascii?Q?flzwak/Uyb3V5k/rGR0+Dj6aMB37kpQtGVZO+OLI4E372aGNkTv8afGUwf/x?= =?us-ascii?Q?em6cfEojNVbWxqZIvVzFszBn8OjB/CssFlxURrCV73xsrUep+cvX5e5FZPnZ?= =?us-ascii?Q?+VL/+eYQt/fLmdHh1hFdhvcXMTGzZv957oJtk9GXrGT9ylHR3HhrGrzGmvik?= =?us-ascii?Q?+vTK7hZnTw77slFBK2HWAAqpdcag9N2LsIbct7G47Bd3iRwF54psh2amyE3m?= =?us-ascii?Q?JxpRnpFbGyZP/XIQvtZBlJraCDzqJvAlne9BBx5qfFkJNX0qjr0ZXaKRLkms?= =?us-ascii?Q?zmYI6FrBi1YBnrKLucFnijnvEkk4d2YzCbTmyXu5suY6SyrvG0+BiJt+iGEA?= =?us-ascii?Q?8cI3wxC5oCQtPlrsgp9YO7aaRaCKpH3Iyhnbp9kPefyHcEpgGM51JalSRJdX?= =?us-ascii?Q?BKnDFKu22UZ5q+C0PTn/R6oaKpZqnONMMJJ?= X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2241; 6:18CxoRdwpWuiPR76rXNvG8K5NZrqo8MXayIy/sai/uJg8NeZ18li8Pu4QvvJorwH6WnFeJHIj9jHoxoi+Dtw84WmBrYXRPczWkjsdO2qDw/H+bAZ7El59sHRsc8+QBgFFRVi+576awX0zI2v/MUsFnR6zMY60RCIFg7TNyQiJCNiEpjSLgm6QYS5QXI0ssa7D8ne5MFwUZ8ECVkpKLC8U2c6QaVQ60ua7N2MQscw22/81efJRx9ICuV8+WWHl6YGTyve4RqusYVZDYVw5zeuxG5bXC4J4IVsVIBZbCMTxd8=; 5:HOZho4raulN8j5vnmbMP2dLPWhyp7tuhdKjVlJpJ9wyK1ZYIYtDQTi6VNHKAyQAFO/uOLqDEwBlzmE2WI27chXancqvtCQICy+Wz6SV09xJaJFUH2dot+8oK3479qIxJCr03RECGnGqbfQ/4YcL8pQ==; 24:96+O6K1TSZt7OukIDCagCWY5MQ8Ks6+qCIJjHojIcxk/pjxULGeoeMeF691NKJ48FGP82Jt5PWKVYAsxCtgJTUXNo1hiTi9cuuw2pOuQEIs=; 7:AmmxkuF3cNxrT7GSTEAW8Zz/pS8F3S5sxisftFi67IImdGdkkM3VkF18CoCRSb6XpwnHcIIZNVy79QROjnpgfnAiZanZcrcRUleRNpXsLLs8bTxTxC/sOKGte/PeM42o9EBX+Wveh+Gr4WOsqowIz7rc6PkpW3lCeeqH5o3WWthckY8MyjUCOhZ7UaKLosfiVPkgqRT38cB6ObQaW4vIQlQ2OjSez/Y7Q0mKep0/J4kLaick67NTYgVjyy+CcisO SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2016 05:11:34.8886 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR07MB2241 From: Yury Norov ILP32 has 64-bit off_t, to follow modern requirements. But kernel clears top-halves of input registers. It means we have to pass corresponding arguments in a pair, like aarch32 does. In this patch all affected syscalls are redefined. Most of them are taken from arm code. Signed-off-by: Yury Norov --- sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c | 31 +++++++++++++++++++ .../unix/sysv/linux/aarch64/ilp32/fallocate64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate.c | 1 + .../unix/sysv/linux/aarch64/ilp32/ftruncate64.c | 4 +++ sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/lseek.c | 36 ++++++++++++++++++++++ sysdeps/unix/sysv/linux/aarch64/ilp32/mmap.c | 1 + .../unix/sysv/linux/aarch64/ilp32/posix_fadvise.c | 1 + .../sysv/linux/aarch64/ilp32/posix_fadvise64.c | 2 ++ sysdeps/unix/sysv/linux/aarch64/ilp32/pread.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c | 5 +++ sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c | 5 +++ sysdeps/unix/sysv/linux/aarch64/ilp32/readahead.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/truncate.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c | 4 +++ 16 files changed, 96 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/lseek.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/mmap.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pread.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/readahead.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/truncate.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c new file mode 100644 index 0000000..4951d06 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include +#include +#include + + +/* Reserve storage for the data of the file associated with FD. */ +int +fallocate (int fd, int mode, __off_t offset, __off_t len) +{ + return SYSCALL_CANCEL (fallocate, fd, mode, + __LONG_LONG_PAIR (offset >> 32, offset), + __LONG_LONG_PAIR (len >> 32, len)); +} +weak_alias (fallocate, fallocate64) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate64.c new file mode 100644 index 0000000..f27735a --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate64.c @@ -0,0 +1 @@ +/* See sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate.c new file mode 100644 index 0000000..fb5b598 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate.c @@ -0,0 +1 @@ +/* See sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncatei64.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate64.c new file mode 100644 index 0000000..bd0f5fe --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate64.c @@ -0,0 +1,4 @@ +#include + +weak_alias (__ftruncate64, __ftruncate) +weak_alias (__ftruncate64, ftruncate) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c new file mode 100644 index 0000000..b00ca27 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/lseek.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/lseek.c new file mode 100644 index 0000000..6e00863 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/lseek.c @@ -0,0 +1,36 @@ +/* Copyright (C) 2011-2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Chris Metcalf , 2011. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#include +#include +#include + +#include +#include + +off_t +__lseek (int fd, off_t offset, int whence) +{ + loff_t res; + int rc = INLINE_SYSCALL (_llseek, 5, fd, (off_t) (offset >> 32), + (off_t) offset, &res, whence); + return rc ?: res; +} +libc_hidden_def (__lseek) +weak_alias (__lseek, lseek) +strong_alias (__lseek, __libc_lseek) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/mmap.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/mmap.c new file mode 100644 index 0000000..813ab64 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/mmap.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise.c new file mode 100644 index 0000000..4430e6e --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise64.c new file mode 100644 index 0000000..596c6a1 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise64.c @@ -0,0 +1,2 @@ +#define __NR_arm_fadvise64_64 __NR_fadvise64_64 +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/pread.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/pread.c new file mode 100644 index 0000000..96b7ccb --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/pread.c @@ -0,0 +1 @@ +/* See sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c new file mode 100644 index 0000000..7637028 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c @@ -0,0 +1,5 @@ +#include + +strong_alias (__libc_pread64, __libc_pread) +strong_alias (__libc_pread64, __pread) +weak_alias (__libc_pread64, pread) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite.c new file mode 100644 index 0000000..ddadc61 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite.c @@ -0,0 +1 @@ +/* See sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c new file mode 100644 index 0000000..2089a05 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c @@ -0,0 +1,5 @@ +#include + +weak_alias (__libc_pwrite64, __libc_pwrite) +weak_alias (__libc_pwrite64, __pwrite) +weak_alias (__libc_pwrite64, pwrite) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/readahead.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/readahead.c new file mode 100644 index 0000000..80170c3 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/readahead.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/truncate.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/truncate.c new file mode 100644 index 0000000..23548a5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/truncate.c @@ -0,0 +1 @@ +/* See sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c new file mode 100644 index 0000000..56cb37f --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c @@ -0,0 +1,4 @@ +#include + +weak_alias (truncate64, __truncate) +weak_alias (truncate64, truncate)