From patchwork Tue Jun 28 16:39:19 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 641613 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 3rfBPv3ZKZz9sdb for ; Wed, 29 Jun 2016 02:40:51 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=w1fNEXpp; 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:date:message-id:in-reply-to :references:mime-version:content-type; q=dns; s=default; b=rbODx 0Lp8x5e/fcn4TSie9pT/cRAZaVtprMNHdMQGpMLZXdR/mDzKogcTPpFXRMbp+J5a k++tFUByYO83QN1RqP4b8/k8YOwjNRIFiM1ULu+j3HLLBi6ni/WE9uwtkWKTMWRi Hpm+SgQpfJm96Wg3FLMNsKF2erjBZwu8QLRjkI= 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:date:message-id:in-reply-to :references:mime-version:content-type; s=default; bh=q8knl9g25ue hrtI0vcmJXSp49q4=; b=w1fNEXppELiP6AINHiiiHOQ8FXs2787kLYZYRB9aRuq plqv2j0wx/mn5opSMS00Ak9yXStIzWeQPICy7AqosegI3EZQ/ZLOu28XtvQCnSfs iwxuMYaSJzhnQd/l/M3uZiIVa1SG6nforQqVm1+J9GPa7elGSHgid4Xv5mGNfBmo = Received: (qmail 12202 invoked by alias); 28 Jun 2016 16:40:43 -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 12177 invoked by uid 89); 28 Jun 2016 16:40:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.0 required=5.0 tests=AWL, BAYES_00, KAM_STOCKGEN, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=no version=3.3.2 spammy=987, efficiency, x29 X-HELO: na01-bl2-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; From: Yury Norov To: , CC: , , , , , , , , , , , , , , , , Andrew Pinski , Yury Norov Subject: [PATCH 04/23] [AARCH64] Add PTR_REG, PTR_LOG_SIZE, and PTR_SIZE. Use it in LDST_PCREL and LDST_GLOBAL. Date: Tue, 28 Jun 2016 19:39:19 +0300 Message-ID: <1467131978-669-5-git-send-email-ynorov@caviumnetworks.com> In-Reply-To: <1467131978-669-1-git-send-email-ynorov@caviumnetworks.com> References: <1467131978-669-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-ClientProxiedBy: AM5PR0901CA0010.eurprd09.prod.outlook.com (10.164.186.148) To BN4PR07MB2241.namprd07.prod.outlook.com (10.164.63.147) X-MS-Office365-Filtering-Correlation-Id: 1e7e3ca4-0bb4-474a-1f82-08d39f72ed71 X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2241; 2:GF248pwn8QF70B2IDFREAAhg4RZXYAfBnspOqp60VPWC0a0auZ0idIbt0wylDkwCulgx0YId+tWDq655gH/S/XvGSTvxqwaco2uoqNW7LMVQoFxFtkhwBQhCUcQxw6Y7L18DFVcRqUjFaZs3xfvdgtwKmL9LxntnSjt9+Sex8/35kTtVjEI6SbO1tCAtSMST; 3:0Ij/hRmKxHduT8QIwN6BOcLHXrX2QVfYIFR9/UN2nJu67mZODePo+EGj39U2st5sFU48uUmHMqzmxqJapk0QIKU/sdzIiX9u43TQV1qzT1hEvoq21x6Mt8pJtibsRzvO X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2241; X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2241; 25:KcMsGZIe5tnnmFdIJD4DYwuC62qBoEb2J6uzRQwERPYclx5Xppz+DwAtmOSl8f/+GB3zPXugWGtJqLI35t9k0oLmiApmUDErz6DaXmpmhJDWvAm8Qgixd6IP+/xK1AzYASbjY3JO09uotv72Q7Ve26keI/hgrBEQFkB/wv6FdKYNhfuoe9pukJtzL+uy3cX1LbuDl3SbD3+GW8ZjODZWGAH+BLvKEebB1HiXymZL9t+CkPPrbM+FE0NhEb9k01V6WiFiPL6hpNB0V8VspwMZ22GBv4loymoIDV+rLsVS+IcLgUf/uqLF+jXPOKlNeLCXI1xoZ03/2beOPRe+SciFxlujxHWEUZyh8x9PXwV0dljbDHqxMxIgeSNd/8/MltocDJR6lYCo1m9MTCIiDfKdezFFZV0R3GbYg3Y88D+VYezdqi/2sMcM2a42axGPhHIpQLPWkf4t0cPplMGnQZcKw8u4mrCWQaWyeP0a6xlX4DMjPsF1sBWs3tggszr1/gcKZCaiU+lRq7RCl8FT9sS8kP98atqN7BTDs2lKIEZykQ0qBCaQ042og1GI74ZeQimXbyfDoT/AWPuC/aLWR09UERufhW54jsEa/yNbuDMLJFyH/7nwEwei/1ER5EHyrm68nJoQWk2PB0HCS5L/ya0qaAaJYruGNYo2Yfcx1ZTkIh567ctuoqCxVwt1yN490iC0OrTO8hnZurqj6rRVhv5J7doO4l9tt/sigYzOea7eKOoMETrGDKA8V4SwqIo9dfAfqCFQG7LmIdwN8KGzFbNqIg== X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2241; 31:zbf1Cx2z8S3H53w/coJtfjqAl2SLlXBHqGVeoCF9gRsRRhh9KlW+J+J/P0tqJh5oSIkRq5uPXIGDE6NM4Ic/Ls5zU7Bd4NZWF8vNphzP/U9pN6Tv+M4p9iBqhnI4nmVmK+Dhc90jE7yTSWwsIdKAMj2EwLs9QAsD9UBP9cgEMK7n/EhWSxuFtp/MJYAXNqXOHT/AggqzIjOt7fk1SndttA==; 20:Al9XWLyXGujc5gtlchEhMwQ+0v4X0BThNGJCi96sImTgWjod8UXU90866ZtSC7SULjiURVyxofjVei7kGuSRIu4BOx4ooz2Sxpu7CAu+G1LgoZOx157WdcEarRKx/dlNen4qHK/nvCHYmJ5OuGJiVchrcU2o1owRz6YU5HmE9P4q/x7DPJsLcjunE4gCiPB2HZ1MMXFUNAPLqM4LKLOZxT5Lr5NbGKlviEDp1RbaqVMMXimQ1JNj6mPMXNRJBRxQ0MfDfk/7X1H9lp3wiEhn1WoWu7sPFBPXg7DX2I+AStILtddAqr7/2GXPqreirBmInV4GhvK99bmBD6e6CuGwkusrG9ZtrRt/XyxVkJySE/D1Pg3OhJ6uqTJxEgw1+ZlMpNgaEMC7uhtVohP2gxWv1bc2EuL3QG03GofH0+9R9z6hrHS2sqR+HIP43epkS0zlKHp5l3oVIqY0VirEVfw+nW9O1xIuMMmz0atEm4J03yNmAlLIWgkjAHd5lNmQrUevSQ1u9X7MB3mck4WyfMdKyd+vgrY8dT8Xbbdi4eCW5IrPi5o3Dwmfn6DTY30JqogLUOjNeA9yGRgpnIST44HJKg2JYUNjS3lkskC5TYvU08c= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:BN4PR07MB2241; BCL:0; PCL:0; RULEID:; SRVR:BN4PR07MB2241; X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2241; 4:pjOtAKxaKwBEr19N4/wMiPcaozr2Dd4ESFvN2ZLgDWJ73spkIcGoAwUPjFNvPQYeVcXZ7/Sr0hAqurhqryuHeOhKi8tyhCPqD1MELdwDKLW1nJQ4S9b64qk+9t5Dq/Ej8v5lf4xfUB/0fq7N3MrOtgWNg1GK1NOTVKaNFX/lR6jMiggYeStgENwsBBt4QxJFIZedocgR8GTT1p0oDs/IHuzQORLsfaje3ce9iYtTGCYOm+0GBXoEA7YhK7mih18Y+GjxUL4oyRbXAWvV8Mc8K3O3rNaRRBHnoNdumSxOJoJzb1h/d9+T09VRAe0KqbUXGX6WHs6wtdBg45CoOfCkBpUf0bjLM+CEkZhjB7fsuJZJQwgNN99J+rqwgsSGbvou X-Forefront-PRVS: 0987ACA2E2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(189002)(199003)(50226002)(305945005)(77096005)(68736007)(4001430100002)(5003940100001)(7736002)(2950100001)(3846002)(8676002)(4326007)(2906002)(81166006)(19580405001)(92566002)(36756003)(7846002)(6116002)(586003)(81156014)(19580395003)(189998001)(5001770100001)(76176999)(101416001)(50986999)(107886002)(229853001)(97736004)(76506005)(33646002)(47776003)(66066001)(42186005)(48376002)(50466002)(106356001)(105586002)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN4PR07MB2241; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN4PR07MB2241; 23:vzNmwl5Nt1cB/h8B4UPfi+B3z+qPbt13pvRyawLN+?= =?us-ascii?Q?P48yyHU1rfq21UQDQdWAhqr8WNFYelJFPyTP13dZAdPblVB/ghQoPco49NAO?= =?us-ascii?Q?AT887+s2ZsidMPzeJEV3tNpDEwcmEgLJ1oQVeDgl5VWC/29pTYDmaKTWLyXV?= =?us-ascii?Q?FfvWl267OMMb605IY7a6cyo7CD8mih9OP5Z3uvLYkI/cKTcMy9T1nWHUqULA?= =?us-ascii?Q?T3EFCSN1axwQMObN9IJtNtlFN2ybl0ixOxWa/A1QzjmQLAK9IyeCi5JRl6sw?= =?us-ascii?Q?loLY2O/9tsx3Rnm5CJit0U4xMnpSlVUNq59Z2EmsYSM0t/CYZJLRvpgWFR3e?= =?us-ascii?Q?g5TJCFhZdHEII9UxnvFZ2yqAFGZ/Jmoib8pxiOGUdSEzKV2fDpaTOKiVF9Iq?= =?us-ascii?Q?fdCU9Y2oRDaR9bv1NlaxZ4VaooezBpkShdrDXnZBl3Ub0ZNRQYR2mC90G/hg?= =?us-ascii?Q?/eRbPcSODNHDD/xPV+w0yPYxwGgpubj/BUoSoqwUim2TYE2UF9rttTrcAprL?= =?us-ascii?Q?deUbzIUf2/CDJa+N4enD4tU/yvw+Vu6rG+Gbb6R2HVyomTQil/Xg9yBvrUhh?= =?us-ascii?Q?U1KtFfm6hOBDyJxWlZMfdb2rDNIpBuTjMPPWgwJxq1MnCURDlawT9NuNGyK4?= =?us-ascii?Q?0A4lD31LSzai/qnIZezG1coirUll7pKR/Bd/jSdHVSop/srowBux76J4ScGH?= =?us-ascii?Q?upfhf9DwcA8leekZukFvGn/AaxIoOJSs6FpBxyMJ5RJ95PjLU5yQ/qtd7wGA?= =?us-ascii?Q?BucgSkX7rHAXFs9rDH/oyCTeMLcmjQxT0lxTVjYxsVRDHExjc4YTL7OZenZ0?= =?us-ascii?Q?r57f2b8fyLLqGrG54k+QC0aoWIOiDKyOH+kUa23SvZd/nTW0Ephy353czh4M?= =?us-ascii?Q?26wbv2Fm6irEjoYKizphp7NEk585/BUDe18FYKTW6qMopCiw4ykxT7s8y6m9?= =?us-ascii?Q?w2PzVird4mP+dnRdU02KxLSQPhuXCGaVj5EUcLZFF9WE3M3q2P73PJg+Smu9?= =?us-ascii?Q?g89LQyFHqZl8nK/lFigRKG+s19YOUjpnWfgI8okmX+liJu3xyAEOQQ32wupL?= =?us-ascii?Q?3O3H6DKf92OLVB4QkDJYxJ2cdHSckNfbr/Q8OH+kMzlMNzM44i4cJAbiHonY?= =?us-ascii?Q?qsKughM/mQzvnEaDcG+a8+iNmMwOxLM?= X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2241; 6:xqhquE/FxmX5XGp5vRcjR+4EUZzIHbCXZqcoWLo8jvhz5Weo7VE/h5fY7wOUJ0yJ+6Ix9WXnhKZCt0tfxA29ZBRLkVO1XK9DHf29toPY+nss2Mb9p0OzGPFz0k+elhk7uEw8SEVC92xPxoInYQr5D3iTTEvo5Oa2F4tAeuJIfWEuKuR1LQXSGXTLXT/J4r62N26rn3z7ebXk9TKhTK2rneAxRCv8EP8EWdNkCC0N8oSGXXjLGQ0ZHP7asGSMLtUaQe8kwCOaAS/bYBwxSERAz4qZ2bBSvhlh/qRx/Zv2Gw8=; 5:iq71K6x4KQej33vaXsZADuXwes9pn7bmKlzYmcEHsx7qiOJskiD5ULHb6KGr21Yg0ioaF3mUnVyJpU7cSe2891XogVF1wzD7c0i6L8zqNKtSSuv4q7xlNRSUkHvz6DIYfqZIR/BRIzRsDyAbrRr4YQ==; 24:jBI/XWHTArKIj64UC+jkuE2m95urB/PmU7Xqir32sNFG2YcVd8C06jFn5xtlECZ3b01XHHKVh2OhIM1VSBhos1EPqGbINtv2Xu/CmS9S/Mo=; 7:7EtYsETHL1dHpoR5ZulL05fg6vphv3q7EChoQIsy8B3jcSKMjL1kwgCyHz7fS2TUhC77IDEXwynNtkwDb1qxkj8wIAAHX3iXduirUVZa4il8kQ184bsddsrJC0jXJ5l8fC5+tWmJtpURVtlxi9coYJF736aNLL4UZsBQhpujSbotAjprsdG5ccuBsksklx1sp+kWyNkx1WCEsG65edMYz/UapekWjf+hSNDCav1R7Lf/JX9thZ6uQo5M73VTAb7N SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2016 16:40:34.4851 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR07MB2241 From: Andrew Pinski This patch adds a few extra macros which are useful for ILP32 and updates PTR_MANGLE and PTR_DEMANGLE to use the some of the new macros. * sysdeps/aarch64/sysdep.h (PTR_REG): New macro. (PTR_LOG_SIZE): New macro. (PTR_SIZE): New macro. (LDST_PCREL): Use arguments as register numbers rather register names. Use PTR_REG for the register when loading. * sysdeps/unix/sysv/linux/aarch64/sysdep.h (PTR_MANGLE): Add a comment about that the arguments are register numbers rather register names. (PTR_DEMANGLE): Likewise. * sysdeps/aarch64/__longjmp.S (__longjmp): Update calls to PTR_DEMANGLE. * sysdeps/aarch64/setjmp.S (__sigsetjmp): Update calls to PTR_MANGLE. Signed-off-by: Yury Norov --- sysdeps/aarch64/__longjmp.S | 4 ++-- sysdeps/aarch64/setjmp.S | 4 ++-- sysdeps/aarch64/sysdep.h | 28 ++++++++++++++++++---------- sysdeps/unix/sysv/linux/aarch64/sysdep.h | 8 ++++++-- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/sysdeps/aarch64/__longjmp.S b/sysdeps/aarch64/__longjmp.S index 65116be..58332be 100644 --- a/sysdeps/aarch64/__longjmp.S +++ b/sysdeps/aarch64/__longjmp.S @@ -53,7 +53,7 @@ ENTRY (__longjmp) ldp x27, x28, [x0, #JB_X27<<3] #ifdef PTR_DEMANGLE ldp x29, x4, [x0, #JB_X29<<3] - PTR_DEMANGLE (x30, x4, x3, x2) + PTR_DEMANGLE (30, 4, 3, 2) #else ldp x29, x30, [x0, #JB_X29<<3] #endif @@ -98,7 +98,7 @@ ENTRY (__longjmp) cfi_same_value(d15) #ifdef PTR_DEMANGLE ldr x4, [x0, #JB_SP<<3] - PTR_DEMANGLE (x5, x4, x3, x2) + PTR_DEMANGLE (5, 4, 3, 2) #else ldr x5, [x0, #JB_SP<<3] #endif diff --git a/sysdeps/aarch64/setjmp.S b/sysdeps/aarch64/setjmp.S index 22f4368..da83f19 100644 --- a/sysdeps/aarch64/setjmp.S +++ b/sysdeps/aarch64/setjmp.S @@ -42,7 +42,7 @@ ENTRY (__sigsetjmp) stp x27, x28, [x0, #JB_X27<<3] #ifdef PTR_MANGLE - PTR_MANGLE (x4, x30, x3, x2) + PTR_MANGLE (4, 30, 3, 2) stp x29, x4, [x0, #JB_X29<<3] #else stp x29, x30, [x0, #JB_X29<<3] @@ -57,7 +57,7 @@ ENTRY (__sigsetjmp) stp d14, d15, [x0, #JB_D14<<3] #ifdef PTR_MANGLE mov x4, sp - PTR_MANGLE (x5, x4, x3, x2) + PTR_MANGLE (5, 4, 3, 2) str x5, [x0, #JB_SP<<3] #else mov x2, sp diff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h index 05d6f8e..4ce0945 100644 --- a/sysdeps/aarch64/sysdep.h +++ b/sysdeps/aarch64/sysdep.h @@ -23,10 +23,16 @@ #ifdef __LP64__ # define AARCH64_R(NAME) R_AARCH64_ ## NAME +# define PTR_REG(n) x##n +# define PTR_LOG_SIZE 3 #else # define AARCH64_R(NAME) R_AARCH64_P32_ ## NAME +# define PTR_REG(n) w##n +# define PTR_LOG_SIZE 2 #endif +#define PTR_SIZE (1<