From patchwork Mon Oct 27 07:59:51 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Pinski X-Patchwork-Id: 3420 Received: (qmail 16540 invoked by alias); 27 Oct 2014 08:00:21 -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 15620 invoked by uid 89); 27 Oct 2014 08:00:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-HELO: mail-ig0-f170.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Yu4MwoY3hBg/d6VC+XflJXBR5QQCBe5ZGWbtYehKPiY=; b=WiNVuQ/Frsja54T8hhcApDuCzRdQLXw+wbubX3aEUWoNTPLmFHi/UnzY6Ghx6SFWBo VRaPZ/CE9hLV/ZVRQPlfmZDxk/bJv2waUhYbZ3kO/nmn2cMDlvqd8qI82KbanoL30j1N 7EqixWhvJEqDxXTJfs3bov3eAz8fZM9E/LLVSVn1L08saCbfAojUhHahcYdCrBKZu4sL jQeWlz+9cTUA48fBodh3naVXfG9rXOsAP7IL69U6mij5bmYFOfWN3Ap1w71XI122vUtH NTnYCuGGpL3Z4j/8uV+nQRdjYKEiX6fOx60iEw/WIfvgrKxK4MOeOy7ZCLWH14zHM5D8 zoew== X-Gm-Message-State: ALoCoQk5mgtMeECZlBUF+VmYtVBaESRIRhakupBwCrAtDiZO5rjqmBJxTcAoPPU8CmxMcLqsYU/1 X-Received: by 10.107.160.208 with SMTP id j199mr21300119ioe.6.1414396800413; Mon, 27 Oct 2014 01:00:00 -0700 (PDT) From: Andrew Pinski To: libc-alpha@sourceware.org Cc: Andrew Pinski Subject: [PATCH 27/29] [AARCH64] Fix up ucontext for ILP32 Date: Mon, 27 Oct 2014 00:59:51 -0700 Message-Id: <1414396793-9005-28-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> 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; +#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;