From patchwork Mon Jun 13 10:38:10 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gary Benson X-Patchwork-Id: 13026 Received: (qmail 6803 invoked by alias); 13 Jun 2016 10:47:56 -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 6558 invoked by uid 89); 13 Jun 2016 10:47:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.3 required=5.0 tests=BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1009 X-HELO: mx1.redhat.com From: Gary Benson To: libc-alpha@sourceware.org Subject: [RFC v2][PATCH 06/27] Add Infinity THREAD_SELF macros to sysdeps/i386/nptl/tls.h Date: Mon, 13 Jun 2016 11:38:10 +0100 Message-Id: <1465814311-31470-7-git-send-email-gbenson@redhat.com> In-Reply-To: <1465814311-31470-1-git-send-email-gbenson@redhat.com> References: <1465814311-31470-1-git-send-email-gbenson@redhat.com> This commit adds Infinity THREAD_SELF macros for i386. --- sysdeps/i386/nptl/tls.h | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/sysdeps/i386/nptl/tls.h b/sysdeps/i386/nptl/tls.h index a6dfa9b..f504ef2 100644 --- a/sysdeps/i386/nptl/tls.h +++ b/sysdeps/i386/nptl/tls.h @@ -259,6 +259,14 @@ tls_fill_user_desc (union user_desc_init *desc, REGISTER_THREAD_AREA (32, offsetof (struct user_regs_struct, xgs), 3) \ REGISTER_THREAD_AREA (64, 26 * 8, 3) /* x86-64's user_regs_struct->gs */ +/* Magic for Infinity to know how to do THREAD_SELF. */ +# define I8_THREAD_SELF I8_TS_REGISTER_THREAD_AREA +# ifdef __LP64__ +# define I8_TS_RTA_OFFSET 26 * 8 /* x86-64's user_regs_struct->gs */ +# else +# define I8_TS_RTA_OFFSET offsetof (struct user_regs_struct, xgs) +# endif +# define I8_TS_RTA_SCALE 3 /* Read member of the thread descriptor directly. */ # define THREAD_GETMEM(descr, member) \