From patchwork Mon Oct 27 07:59:53 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Pinski X-Patchwork-Id: 39595 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-la0-f70.google.com (mail-la0-f70.google.com [209.85.215.70]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 2DAE22118A for ; Mon, 27 Oct 2014 08:06:07 +0000 (UTC) Received: by mail-la0-f70.google.com with SMTP id ge10sf111129lab.9 for ; Mon, 27 Oct 2014 01:06:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:mailing-list :precedence:list-id:list-unsubscribe:list-subscribe:list-archive :list-post:list-help:sender:delivered-to:from:to:cc:subject:date :message-id:in-reply-to:references:x-original-sender :x-original-authentication-results; bh=+/gY8riIoV/IcdcsyXw/W5WfoYy1/MBNZd29uwxjiYg=; b=Cg3aFtjZus5MQKxqc/iOzTY1yGxSiSC2lIbp2paUWPga8TJJiYds5+TyHdHM6o4YuX ROfUQHe7kmW0Q3fPdqMkqtoU0J5S8DZsKE0T4oyJul5kodTdrJAE6UjtGEAAaLfphtzp 5TI78KzpOupFqGZwsY0LuL1No2MVXPSkMygyWHkJJQ8Mb5qm9Qjp6aK32qxeDQKuusMs t4Kg3XnFoQmPjzg2AURAilOntuaZ9zzKgbsavgx1EmNEuB/kOEqNISgy+vS5dGKv6FMp JHv+IYD66Ad3T35piOCBNvW1PzLVMON/fDAEBJdwBFLv95U29FA1aKupK+1LXcKwIe3C 9X8g== X-Gm-Message-State: ALoCoQlxFYOuH4fDOvjiy18I9urGHOW2YEMTi60OinLkfyEcYLWZaOZIZZIT38153VgVwH+XQ0UT X-Received: by 10.180.19.198 with SMTP id h6mr3586653wie.5.1414397165962; Mon, 27 Oct 2014 01:06:05 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.29.135 with SMTP id k7ls584685lah.78.gmail; Mon, 27 Oct 2014 01:06:05 -0700 (PDT) X-Received: by 10.152.20.132 with SMTP id n4mr21986371lae.50.1414397165473; Mon, 27 Oct 2014 01:06:05 -0700 (PDT) Received: from mail-lb0-x236.google.com (mail-lb0-x236.google.com. [2a00:1450:4010:c04::236]) by mx.google.com with ESMTPS id ks12si18751041lac.5.2014.10.27.01.06.05 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 27 Oct 2014 01:06:05 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::236 as permitted sender) client-ip=2a00:1450:4010:c04::236; Received: by mail-lb0-f182.google.com with SMTP id f15so4288196lbj.13 for ; Mon, 27 Oct 2014 01:06:05 -0700 (PDT) X-Received: by 10.152.120.199 with SMTP id le7mr21318010lab.67.1414397165017; Mon, 27 Oct 2014 01:06:05 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.84.229 with SMTP id c5csp247901lbz; Mon, 27 Oct 2014 01:06:03 -0700 (PDT) X-Received: by 10.66.118.201 with SMTP id ko9mr18180486pab.46.1414397162684; Mon, 27 Oct 2014 01:06:02 -0700 (PDT) Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id e3si9898142pdb.123.2014.10.27.01.06.01 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Oct 2014 01:06:02 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-return-53827-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Received: (qmail 32093 invoked by alias); 27 Oct 2014 08:03:31 -0000 Mailing-List: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org Precedence: list 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 32007 invoked by uid 89); 27 Oct 2014 08:03:30 -0000 X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.0 required=5.0 tests=AWL, BAYES_00, KAM_STOCKTIP, RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 X-HELO: mail-ig0-f178.google.com X-Received: by 10.107.13.80 with SMTP id 77mr21117955ion.2.1414397004304; Mon, 27 Oct 2014 01:03:24 -0700 (PDT) From: Andrew Pinski To: libc-alpha@sourceware.org Cc: Andrew Pinski Subject: [PATCH 29/29] [AARCH64] Make lp64 and ilp32 directories. Date: Mon, 27 Oct 2014 00:59:53 -0700 Message-Id: <1414396793-9005-30-git-send-email-apinski@cavium.com> In-Reply-To: <1414396793-9005-1-git-send-email-apinski@cavium.com> References: <1414396793-9005-1-git-send-email-apinski@cavium.com> X-Original-Sender: apinski@cavium.com X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::236 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org; dkim=pass header.i=@sourceware.org X-Google-Group-Id: 836684582541 The patch makes the ilp32 and lp64 have their own directory under aarch64. Since ILP32 uses most of the same system calls as LP64 and has a 64bit off_t, we need make the functions that end in 64 the same as the ones without. We also need not to special case ioctl or use the already provided mmap.c file. ChangeLog: * sysdeps/aarch64/ilp32/Implies: New file. * sysdeps/aarch64/Implies: Rename to * sysdeps/aarch64/lp64/Implies: This. * sysdeps/unix/sysv/linux/aarch64/shlib-versions: Rename to ... * sysdeps/unix/sysv/linux/aarch64/lp64/shlib-versions: This. * sysdeps/unix/sysv/linux/aarch64/ilp32/Implies: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/Versions: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/dl-fxstatat64.c: New file * sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/getdents.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/getdents64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/lxstat64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/mmap64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/preadv64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/pwritev64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/semctl.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/sendfile64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/syscalls.list: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/shlib-versions: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/creat.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/glob.c: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/kernel_stat.h: New file. * sysdeps/unix/sysv/linux/aarch64/ilp32/xstat.c: New file. --- sysdeps/aarch64/Implies | 6 -- sysdeps/aarch64/ilp32/Implies | 6 ++ sysdeps/aarch64/lp64/Implies | 7 ++ sysdeps/unix/sysv/linux/aarch64/ilp32/Implies | 3 + sysdeps/unix/sysv/linux/aarch64/ilp32/Versions | 5 ++ sysdeps/unix/sysv/linux/aarch64/ilp32/creat.c | 2 + .../unix/sysv/linux/aarch64/ilp32/dl-fxstatat64.c | 6 ++ sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c | 1 + .../unix/sysv/linux/aarch64/ilp32/fallocate64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs64.c | 1 + .../unix/sysv/linux/aarch64/ilp32/ftruncate64.c | 1 + 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 + sysdeps/unix/sysv/linux/aarch64/ilp32/getdents.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/getdents64.c | 2 + .../unix/sysv/linux/aarch64/ilp32/getrlimit64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/glob.c | 1 + .../unix/sysv/linux/aarch64/ilp32/kernel_stat.h | 24 +++++++ sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/lxstat64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/mmap64.c | 1 + .../sysv/linux/aarch64/ilp32/posix_fadvise64.c | 1 + .../sysv/linux/aarch64/ilp32/posix_fallocate.c | 1 + .../sysv/linux/aarch64/ilp32/posix_fallocate64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/preadv64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/pwritev64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/semctl.c | 66 ++++++++++++++++++++ sysdeps/unix/sysv/linux/aarch64/ilp32/sendfile64.c | 1 + .../unix/sysv/linux/aarch64/ilp32/setrlimit64.c | 1 + .../unix/sysv/linux/aarch64/ilp32/shlib-versions | 7 ++ sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs.c | 5 ++ sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs64.c | 1 + .../unix/sysv/linux/aarch64/ilp32/syscalls.list | 21 ++++++ sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/xstat.c | 1 + sysdeps/unix/sysv/linux/aarch64/ilp32/xstat64.c | 1 + sysdeps/unix/sysv/linux/aarch64/ioctl.S | 31 --------- sysdeps/unix/sysv/linux/aarch64/lp64/Implies | 4 + sysdeps/unix/sysv/linux/aarch64/lp64/ioctl.S | 31 +++++++++ .../unix/sysv/linux/aarch64/lp64/shlib-versions | 7 ++ sysdeps/unix/sysv/linux/aarch64/mmap.c | 34 ---------- sysdeps/unix/sysv/linux/aarch64/shlib-versions | 7 -- 47 files changed, 224 insertions(+), 78 deletions(-) delete mode 100644 sysdeps/aarch64/Implies create mode 100644 sysdeps/aarch64/ilp32/Implies create mode 100644 sysdeps/aarch64/lp64/Implies create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/Implies create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/Versions create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/creat.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/dl-fxstatat64.c 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/fstatfs64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate64.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/getdents.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/getdents64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/glob.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/kernel_stat.h create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/lxstat64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/mmap64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/preadv64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/pwritev64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/semctl.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/sendfile64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/shlib-versions create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/syscalls.list create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/xstat.c create mode 100644 sysdeps/unix/sysv/linux/aarch64/ilp32/xstat64.c delete mode 100644 sysdeps/unix/sysv/linux/aarch64/ioctl.S create mode 100644 sysdeps/unix/sysv/linux/aarch64/lp64/Implies create mode 100644 sysdeps/unix/sysv/linux/aarch64/lp64/ioctl.S create mode 100644 sysdeps/unix/sysv/linux/aarch64/lp64/shlib-versions delete mode 100644 sysdeps/unix/sysv/linux/aarch64/mmap.c delete mode 100644 sysdeps/unix/sysv/linux/aarch64/shlib-versions diff --git a/sysdeps/aarch64/Implies b/sysdeps/aarch64/Implies deleted file mode 100644 index e5adf4d..0000000 --- a/sysdeps/aarch64/Implies +++ /dev/null @@ -1,6 +0,0 @@ -wordsize-64 -ieee754/ldbl-128 -ieee754/dbl-64/wordsize-64 -ieee754/dbl-64 -ieee754/flt-32 -aarch64/soft-fp diff --git a/sysdeps/aarch64/ilp32/Implies b/sysdeps/aarch64/ilp32/Implies new file mode 100644 index 0000000..705bc5b --- /dev/null +++ b/sysdeps/aarch64/ilp32/Implies @@ -0,0 +1,6 @@ +aarch64 +wordsize-32 +ieee754/ldbl-128 +ieee754/dbl-64 +ieee754/flt-32 +aarch64/soft-fp diff --git a/sysdeps/aarch64/lp64/Implies b/sysdeps/aarch64/lp64/Implies new file mode 100644 index 0000000..d2fbde7 --- /dev/null +++ b/sysdeps/aarch64/lp64/Implies @@ -0,0 +1,7 @@ +aarch64 +wordsize-64 +ieee754/ldbl-128 +ieee754/dbl-64/wordsize-64 +ieee754/dbl-64 +ieee754/flt-32 +aarch64/soft-fp diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/Implies b/sysdeps/unix/sysv/linux/aarch64/ilp32/Implies new file mode 100644 index 0000000..a88511b --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/Implies @@ -0,0 +1,3 @@ +aarch64/nptl +unix/sysv/linux/aarch64 +unix/sysv/linux/generic diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/Versions b/sysdeps/unix/sysv/linux/aarch64/ilp32/Versions new file mode 100644 index 0000000..58b6bfb --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/Versions @@ -0,0 +1,5 @@ +libc { + GLIBC_2.21 { + fallocate64; + } +} diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/creat.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/creat.c new file mode 100644 index 0000000..05feb3d --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/creat.c @@ -0,0 +1,2 @@ +#include +weak_alias (__libc_creat, creat64) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/dl-fxstatat64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/dl-fxstatat64.c new file mode 100644 index 0000000..339e5f4 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/dl-fxstatat64.c @@ -0,0 +1,6 @@ +/* In this implementation we do not really care whether the call fails + because of missing kernel support since we do not even call the + function in this case. */ +#undef __ASSUME_ATFCTS +#define __ASSUME_ATFCTS 1 +#include "fxstatat.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..d3b7218 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate.c @@ -0,0 +1 @@ +#include 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..df33112 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/fallocate64.c @@ -0,0 +1 @@ +/* fallocate64 is in posix_fallocate.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs64.c new file mode 100644 index 0000000..2be4e59 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/fstatfs64.c @@ -0,0 +1 @@ +/* fstatfs64 is the same as fstatfs. */ 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..673a8b5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/ftruncate64.c @@ -0,0 +1 @@ +/* ftruncate64 is the same as ftruncate. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat.c new file mode 100644 index 0000000..272b6be --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat64.c new file mode 100644 index 0000000..9eff9eb --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstat64.c @@ -0,0 +1 @@ +/* fxstat64 is in fxstat.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat.c new file mode 100644 index 0000000..689cd57 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat64.c new file mode 100644 index 0000000..05e7f41 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/fxstatat64.c @@ -0,0 +1 @@ +/* fxstatat64 is in fxstatat.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/getdents.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/getdents.c new file mode 100644 index 0000000..14dbbc7 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/getdents.c @@ -0,0 +1 @@ +/* Defined in getdents64.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/getdents64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/getdents64.c new file mode 100644 index 0000000..08987ea --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/getdents64.c @@ -0,0 +1,2 @@ +#include +strong_alias (__getdents64, __getdents) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit64.c new file mode 100644 index 0000000..9feab0e --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit64.c @@ -0,0 +1 @@ +/* getrlimit64 is the same as getrlimit. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/glob.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/glob.c new file mode 100644 index 0000000..e542747 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/glob.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/kernel_stat.h b/sysdeps/unix/sysv/linux/aarch64/ilp32/kernel_stat.h new file mode 100644 index 0000000..91e01ba --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/kernel_stat.h @@ -0,0 +1,24 @@ +/* Copyright (C) 2011-2014 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 + +/* ILP32 has no overflow checks. */ +#ifndef __LP64__ +#define XSTAT_IS_XSTAT64 1 +#endif 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..24013a8 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/llseek.c @@ -0,0 +1 @@ +/* lseek() is 64-bit capable already. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/lxstat64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/lxstat64.c new file mode 100644 index 0000000..bb5dbd0 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/lxstat64.c @@ -0,0 +1 @@ +/* lxstat64 is in lxstat.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/mmap64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/mmap64.c new file mode 100644 index 0000000..8e32bae --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/mmap64.c @@ -0,0 +1 @@ +/* mmap64 is provided by mmap as they are the same. */ 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..c9f72c4 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fadvise64.c @@ -0,0 +1 @@ +/* posix_fadvise64 is in posix_fadvise.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate.c new file mode 100644 index 0000000..b3fe81b --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate64.c new file mode 100644 index 0000000..f466f13 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/posix_fallocate64.c @@ -0,0 +1 @@ +/* posix_fallocate64 is in posix_fallocate.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..b7f298d --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/pread64.c @@ -0,0 +1 @@ +/* Empty since the pread syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/preadv64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/preadv64.c new file mode 100644 index 0000000..0a20301 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/preadv64.c @@ -0,0 +1 @@ +/* preadv64 is the same as preadv. */ 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..b7f298d --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/pwrite64.c @@ -0,0 +1 @@ +/* Empty since the pread syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/pwritev64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/pwritev64.c new file mode 100644 index 0000000..e96c6f2 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/pwritev64.c @@ -0,0 +1 @@ +/* pwritev64 is the same as pwritev. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/semctl.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/semctl.c new file mode 100644 index 0000000..0652405 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/semctl.c @@ -0,0 +1,66 @@ +/* Copyright (C) 2007-2014 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 +#include +#include + +/* Define a `union semun' that is for glibc here. */ +union semun +{ + int val; /* value for SETVAL */ + struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */ + unsigned short int *array; /* array for GETALL & SETALL */ + struct seminfo *__buf; /* buffer for IPC_INFO */ +}; + +union semun_kernel +{ + int val; /* value for SETVAL */ + unsigned long long kern_ptr; +}; + +int __semctl (int semid, int semnum, int cmd, ...); + +int +__semctl (int semid, int semnum, int cmd, ...) +{ + union semun arg; + union semun_kernel arg_real; + va_list ap; + + va_start (ap, cmd); + + /* Get the argument. */ + arg = va_arg (ap, union semun); + + va_end (ap); + + arg_real.kern_ptr = 0; + if (cmd == SETVAL) + arg_real.val = arg.val; + else + arg_real.kern_ptr = (unsigned long long)(uintptr_t)arg.array; + + return INLINE_SYSCALL (semctl, 4, semid, semnum, cmd, + arg_real.kern_ptr); +} + +#include +versioned_symbol (libc, __semctl, semctl, GLIBC_2_0); diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/sendfile64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/sendfile64.c new file mode 100644 index 0000000..4c451bd --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/sendfile64.c @@ -0,0 +1 @@ +/* sendfile64 is alias of sendfile syscall. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit64.c new file mode 100644 index 0000000..8edcff0 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit64.c @@ -0,0 +1 @@ +/* setrlimit64 is the same as setrlimit. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/shlib-versions b/sysdeps/unix/sysv/linux/aarch64/ilp32/shlib-versions new file mode 100644 index 0000000..17db764 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/shlib-versions @@ -0,0 +1,7 @@ +DEFAULT GLIBC_2.21 + +%ifdef HAVE_AARCH64_BE +ld=ld-linux-aarch64_be_ilp32.so.1 +%else +ld=ld-linux-aarch64_ilp32.so.1 +%endif diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c new file mode 100644 index 0000000..06bc688 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/statfs64.c @@ -0,0 +1 @@ +/* statfs64 is the same as statfs. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs.c new file mode 100644 index 0000000..48a1d6d --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs.c @@ -0,0 +1,5 @@ +#define __statvfs64(file, buf) __no_statvfs64(file, buf) +#define statvfs64(file, buf) no_statvfs64(file, buf) +#include "sysdeps/unix/sysv/linux/statvfs.c" +strong_alias (statvfs, __statvfs64) +weak_alias (statvfs, statvfs64) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs64.c new file mode 100644 index 0000000..510015e --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/statvfs64.c @@ -0,0 +1 @@ +/* statvfs64 is the same as statvfs. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/syscalls.list b/sysdeps/unix/sysv/linux/aarch64/ilp32/syscalls.list new file mode 100644 index 0000000..1a3834b --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/syscalls.list @@ -0,0 +1,21 @@ +# File name Caller Syscall name # args Strong name Weak names + +truncate - truncate i:si truncate __truncate truncate64 +ftruncate - ftruncate i:ii __ftruncate ftruncate ftruncate64 __ftruncate64 +preadv - preadv Ci:ipii preadv preadv64 +pwritev - pwritev Ci:ipii pwritev pwritev64 +pread - pread64 Ci:ibni __libc_pread __libc_pread64 __pread pread __pread64 pread64 +pwrite - pwrite64 Ci:ibni __libc_pwrite __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64 +readahead - readahead i:iii __readahead readahead +getrlimit - getrlimit i:ip __getrlimit getrlimit getrlimit64 +setrlimit - setrlimit i:ip __setrlimit setrlimit setrlimit64 +prlimit EXTRA prlimit64 i:iipp prlimit +sendfile - sendfile i:iipi sendfile sendfile64 +lseek - lseek Ci:iii __libc_lseek __lseek lseek __llseek llseek __libc_lseek64 __lseek64 lseek64 +sync_file_range - sync_file_range Ci:iiii sync_file_range +mmap - mmap b:aniiii __mmap mmap __mmap64 mmap64 +posix_fadvise - fadvise64 Vi:iiii posix_fadvise posix_fadvise64 +fstatfs - fstatfs i:ip __fstatfs fstatfs fstatfs64 __fstatfs64 +statfs - statfs i:sp __statfs statfs statfs64 __statfs64 +fanotify_mark EXTRA fanotify_mark i:iiiiis fanotify_mark + 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..8999768 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/truncate64.c @@ -0,0 +1 @@ +/* truncate64 is the same as truncate. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/xstat.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/xstat.c new file mode 100644 index 0000000..96927fe --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/xstat.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/xstat64.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/xstat64.c new file mode 100644 index 0000000..e7acd3b --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/xstat64.c @@ -0,0 +1 @@ +/* xstat64 is in xstat.c */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ioctl.S b/sysdeps/unix/sysv/linux/aarch64/ioctl.S deleted file mode 100644 index 8920a20..0000000 --- a/sysdeps/unix/sysv/linux/aarch64/ioctl.S +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2012-2014 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 - - .text -ENTRY(__ioctl) - mov x8, #__NR_ioctl - sxtw x0, w0 - svc #0x0 - cmn x0, #4095 - b.cs .Lsyscall_error - ret -PSEUDO_END (__ioctl) - -weak_alias (__ioctl, ioctl) diff --git a/sysdeps/unix/sysv/linux/aarch64/lp64/Implies b/sysdeps/unix/sysv/linux/aarch64/lp64/Implies new file mode 100644 index 0000000..6418211 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/lp64/Implies @@ -0,0 +1,4 @@ +aarch64/nptl +unix/sysv/linux/aarch64 +unix/sysv/linux/generic +unix/sysv/linux/wordsize-64 diff --git a/sysdeps/unix/sysv/linux/aarch64/lp64/ioctl.S b/sysdeps/unix/sysv/linux/aarch64/lp64/ioctl.S new file mode 100644 index 0000000..8920a20 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/lp64/ioctl.S @@ -0,0 +1,31 @@ +/* Copyright (C) 2012-2014 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 + + .text +ENTRY(__ioctl) + mov x8, #__NR_ioctl + sxtw x0, w0 + svc #0x0 + cmn x0, #4095 + b.cs .Lsyscall_error + ret +PSEUDO_END (__ioctl) + +weak_alias (__ioctl, ioctl) diff --git a/sysdeps/unix/sysv/linux/aarch64/lp64/shlib-versions b/sysdeps/unix/sysv/linux/aarch64/lp64/shlib-versions new file mode 100644 index 0000000..e1768a7 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/lp64/shlib-versions @@ -0,0 +1,7 @@ +DEFAULT GLIBC_2.17 + +%ifdef HAVE_AARCH64_BE +ld=ld-linux-aarch64_be.so.1 +%else +ld=ld-linux-aarch64.so.1 +%endif diff --git a/sysdeps/unix/sysv/linux/aarch64/mmap.c b/sysdeps/unix/sysv/linux/aarch64/mmap.c deleted file mode 100644 index 54ecc10..0000000 --- a/sysdeps/unix/sysv/linux/aarch64/mmap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 2009-2014 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 -#include -#include -#include - -__ptr_t -__mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) -{ - return (__ptr_t) INLINE_SYSCALL (mmap, 6, addr, len, prot, flags, fd, offset); -} - -weak_alias (__mmap, mmap) -weak_alias (__mmap, mmap64) -weak_alias (__mmap, __mmap64) diff --git a/sysdeps/unix/sysv/linux/aarch64/shlib-versions b/sysdeps/unix/sysv/linux/aarch64/shlib-versions deleted file mode 100644 index e1768a7..0000000 --- a/sysdeps/unix/sysv/linux/aarch64/shlib-versions +++ /dev/null @@ -1,7 +0,0 @@ -DEFAULT GLIBC_2.17 - -%ifdef HAVE_AARCH64_BE -ld=ld-linux-aarch64_be.so.1 -%else -ld=ld-linux-aarch64.so.1 -%endif