From patchwork Tue Jul 5 07:33:53 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Schwab X-Patchwork-Id: 13630 Received: (qmail 113350 invoked by alias); 5 Jul 2016 07:34:10 -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 113333 invoked by uid 89); 5 Jul 2016 07:34:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=BAYES_00, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 spammy=s64, EXTRA, H*Ad:D*kernel.org, H*Ad:D*vger.kernel.org X-HELO: mx2.suse.de From: Andreas Schwab To: Yury Norov Cc: , , , , , , , , , , , , , , , , Subject: Re: [RFC2 PATCH 00/23] ARM64: support ILP32 References: <1467131978-669-1-git-send-email-ynorov@caviumnetworks.com> X-Yow: I am a traffic light, and Alan Ginsberg kidnapped my laundry in 1927! Date: Tue, 05 Jul 2016 09:33:53 +0200 In-Reply-To: <1467131978-669-1-git-send-email-ynorov@caviumnetworks.com> (Yury Norov's message of "Tue, 28 Jun 2016 19:39:15 +0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Yury Norov writes: > ABI details: > - types are taken from AARCH32, next types turned to 64-bit, > as modern requirement for new APIs tells: > ino_t is u64 type > off_t is s64 type > blkcnt_t is s64 type > fsblkcnt_t is u64 type > fsfilcnt_t is u64 type This is missing rlim_t, which is also controlled by _FILE_OFFSET_BITS. Andreas. diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/typesizes.h b/sysdeps/unix/sysv/linux/aarch64/bits/typesizes.h index 39c0c81..b386abe 100644 --- a/sysdeps/unix/sysv/linux/aarch64/bits/typesizes.h +++ b/sysdeps/unix/sysv/linux/aarch64/bits/typesizes.h @@ -36,7 +36,7 @@ #define __OFF_T_TYPE __SQUAD_TYPE #define __OFF64_T_TYPE __SQUAD_TYPE #define __PID_T_TYPE __S32_TYPE -#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM_T_TYPE __UQUAD_TYPE #define __RLIM64_T_TYPE __UQUAD_TYPE #define __BLKCNT_T_TYPE __SQUAD_TYPE #define __BLKCNT64_T_TYPE __SQUAD_TYPE diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit.c new file mode 100644 index 0000000..b460f45 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit.c @@ -0,0 +1 @@ +/* See sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit64.c */ 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..1bf982c --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/getrlimit64.c @@ -0,0 +1,11 @@ +#define getrlimit __hide_getrlimit +#define __getrlimit __hide___getrlimit +#include +#undef getrlimit +#undef __getrlimit + +extern __typeof (__getrlimit64) __getrlimit; +libc_hidden_proto (__getrlimit) +strong_alias (__getrlimit64, __getrlimit) +libc_hidden_def (__getrlimit) +weak_alias (__getrlimit, getrlimit) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/prlimit.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/prlimit.c new file mode 100644 index 0000000..161589a --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/prlimit.c @@ -0,0 +1 @@ +/* prlimit is the same as prlimit64. */ diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit.c b/sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit.c new file mode 100644 index 0000000..ae9983c --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit.c @@ -0,0 +1 @@ +/* See sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit64.c */ 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..e8fb138 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/setrlimit64.c @@ -0,0 +1,11 @@ +#define setrlimit64 __setrlimit64 +#define setrlimit __hide_setrlimit +#define __setrlimit __hide___setrlimit +#include +#undef setrlimit64 +#undef setrlimit +#undef __setrlimit + +strong_alias (__setrlimit64, __setrlimit) +weak_alias (__setrlimit64, setrlimit64) +weak_alias (__setrlimit, setrlimit) diff --git a/sysdeps/unix/sysv/linux/aarch64/ilp32/syscalls.list b/sysdeps/unix/sysv/linux/aarch64/ilp32/syscalls.list index e69de29..5fc55b4 100644 --- a/sysdeps/unix/sysv/linux/aarch64/ilp32/syscalls.list +++ b/sysdeps/unix/sysv/linux/aarch64/ilp32/syscalls.list @@ -0,0 +1 @@ +prlimit64 EXTRA prlimit64 i:iipp prlimit64 prlimit