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: 644565 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3rkFy100kVz9t0l for ; Tue, 5 Jul 2016 17:34:16 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=FEVy9iEi; dkim-atps=neutral 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:references:date:in-reply-to :message-id:mime-version:content-type; q=dns; s=default; b=Y9mCZ XTLUWz+aaD/1/dC1uEJwli6Wno6Q9FbyUfJQdg0tvEVmCZ0K6k4WeVFmpUQLP0Ga YPs/HR89iRdlGpyRBwsvbUkzc1SZ2Vrw7lMzXopaMn2aCi+Fdj8ywnC3Xt1XMAim pxvgc5TZjjodNYS/raP6egJThaJUvxMgraZhRI= 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:references:date:in-reply-to :message-id:mime-version:content-type; s=default; bh=e8XMWFfii+9 yCzFm2xdRA/i7II8=; b=FEVy9iEiysWrGPyupWgFrtQ+Y4bUw0NjW36w7bIq7lU gOra/CVFvKkJSicQSf0qICCf3Zdr1Jz+MHxtQw4ezOeflzD1lxrBUhDO5GwBmJay oR9+XTJqegX8ZoD3z8bqmyUkGE6qu+4yEzPSPvdl/bNkEm5s+XBj3IDj2aGn76Uo = 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