From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5236 invoked by alias); 18 Nov 2014 14:54:50 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 5223 invoked by uid 89); 18 Nov 2014 14:54:49 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-ig0-f175.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Al075hkHAOzyjiXATJEdA1dhHrd4Xee2bO4BPNlwSXM=; b=ZO6jt1hETdE+Lw0HnphyISE+mfX7dtc8To2HrbDk2/UDowtg0qwsD1vNpOSkN4OQIH nK5MrhCgrOLAdUP5a6GyBgVbGtKYJAAeKf12UNjPcqpI+LQPu9WZRLMeR6w2u89d6g9n ZND4mExpRyO3qnpsHSOuAaWQMC0kv+0DM4uHCLpMTqBn19H5HSZkIAvoJSeOo5V0MyNO mJoeqYhR2niUSWB3fagRMeKPgF1VhHI5OIOTSLLJ0cuB+n1cixiowgOJy6YRmwRGMfUJ mXrKuBB7iu3gG5vBUJH4VnwotbT0V7MikhA7m8TF0jG0MUlVUQNgDnE66ZsLE91PdQYZ nx4Q== X-Gm-Message-State: ALoCoQmMYjSw3/Pjxw17bwOzKr9HN2RpJTKcjLt1EFu2VywZyrOO+Rq5cl8Zwcz1ERh3fRKK9rvA MIME-Version: 1.0 X-Received: by 10.50.138.76 with SMTP id qo12mr3741364igb.43.1416322486475; Tue, 18 Nov 2014 06:54:46 -0800 (PST) In-Reply-To: <1414396793-9005-28-git-send-email-apinski@cavium.com> References: <1414396793-9005-1-git-send-email-apinski@cavium.com> <1414396793-9005-28-git-send-email-apinski@cavium.com> Date: Tue, 18 Nov 2014 14:54:00 -0000 Message-ID: Subject: Re: [PATCH 27/29] [AARCH64] Fix up ucontext for ILP32 From: Will Newton To: Andrew Pinski Cc: libc-alpha Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2014-11/txt/msg00445.txt.bz2 On 27 October 2014 07:59, Andrew Pinski wrote: > In ILP32 we want to use the same layout of the structure ucontext as LP64 so > we need to add a padding for uc_link and change the type of uc_flags to > be the kernel unsigned long type. > > * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (struct ucontext): > Change the type of uc_flags to __SYSCALL_ULONG_TYPE. > Add padding for uc_link if ILP32. > --- > sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h | 10 ++++++++-- > 1 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h b/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h > index 476f5de..5d224fb 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h > +++ b/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h > @@ -46,8 +46,14 @@ typedef struct sigcontext mcontext_t; > /* Userlevel context. */ > typedef struct ucontext > { > - unsigned long uc_flags; > - struct ucontext *uc_link; > + __SYSCALL_ULONG_TYPE uc_flags; Is there a reason to use this instead of __syscall_ulong_t? > +#if defined(__ILP32__) && defined(__AARCH64EB__) > + int __pad_uc_link; > +#endif > + struct ucontext *uc_link; > +#if defined(__ILP32__) && !defined(__AARCH64EB__) > + int __pad_uc_link; > +#endif > stack_t uc_stack; > __sigset_t uc_sigmask; > mcontext_t uc_mcontext; > -- > 1.7.2.5 > -- Will Newton Toolchain Working Group, Linaro