From patchwork Tue Jun 28 16:39:21 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 13429 Received: (qmail 14859 invoked by alias); 28 Jun 2016 16:41:09 -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 14777 invoked by uid 89); 28 Jun 2016 16:41:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=959, mrs X-HELO: na01-bn1-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 06/23] [AARCH64] Use PTR_REG/PTR_SIZE/PTR_SIZE_LOG in dl-tlsesc.S Date: Tue, 28 Jun 2016 19:39:21 +0300 Message-ID: <1467131978-669-7-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: AM5PR0901CA0022.eurprd09.prod.outlook.com (10.164.186.160) To DM3PR07MB2250.namprd07.prod.outlook.com (10.164.33.148) X-MS-Office365-Filtering-Correlation-Id: 54a87570-f605-4cc9-dfc5-08d39f72f96c X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 2:vMFSMYUyz4VPrrBAMAfG1OlROFgMacSBqdEL8C8J06nelG8DNL5wAhvcrIQMhWB8FBa0Ekvv16OmKEL7kSv4aJX/+yxKD0GxmOZfZw2Sjo/uSWdysZVZ7/y4dRqeUJrni0qRPA6cgtyTLID27PPzRDuRD5CXmbdMbCNn1085UQErguYgu1Er0qWqHQ7MA0kl; 3:o1oSMkPAjDg5rrZunF3yUhgmGDG+4dnE0+guOTzaWuMtVUYnO19joDWn/c+dHXqkkjIbdGUk/tySR3ZzxWI939rzZwEzH0mU9bEL6H4+0hM3eK3F16alsZvA97vrp7eV X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR07MB2250; X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 25:7fX3QzmTF39/+G9aJGy05x+4jbtS25/biovuYAQJBv/v4Tua5fFRPXXaqOFAChidSu+zZCVi7hJy7WOODoxSnJoGSPQg0dS5vYllct3Z/k4Xxv8cFLjZAA6Qb1O5gvoGL7NbTDzVMVlQBs+9+KlL72CM6HrEsGV7tjG8cLiVd92ekw2RGgxUeE/6evnRYGgf4F+pt4zHMJao8Ce+m5glnp0DLfjJxFv4jVoAsmpo86oAWSHM7PIeo2c2Aw+NFMGYHkYcLA+8tg3mLX2UvCNxsVRXs9uXvB8Kn11rZhjNEQ3SlUz9qQ2WDm9tnzYornoGdZwKwAaZtNe025ep0hdz/rYbHcMVlLW6WVrp+um0HfX0Jt0MR2yEI6jN3t+W9LClvaqzgR5EynykCIzgV68au7gMF9F4lOva/vHxOTtYPd5Rgs5a7nP66hoIpLYZcwyRHV/qTe9rsU8x05bwqP24aV2MM0LJnvbkaFwNUJ6RKZjaU5Hx41zn65MzTDGFbf7pOgyBFss5fovGfWdu3MKGA6VASbafkoHHAsqxD9mk6HlIbyk9MmHha8p6afgMLjgMW1eZSLkMYrdgJ61HWHBa6OjO9dWH409doKbNUDQCME5KNOLvdUvqblw+Dt5v46hmltF3j2v/Ry6TczyidgpmjrWfjiQH5nI3B+odjNYXD1SoKSpIt48fX5batY6pP6QVC0DGIPb9N5U67TF/YuKJ2/nZ1WUL7KFgDuR/B1QrgH5Btyvh0YP7Sz3RxAWuhrYXPC8IbNoO76SXEJrpjS2Qvw== X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 20:/SPvM43PvRxJsB8jitEL0d4DpRFxzJ3jAAmHDWgRycTy3zQbzrZMXtBTKMTwL4BNMjveL/FOZxlV9lQBaUU84E1WuIflFrD7/EM6eFh3BNF7FmVSmIa7jG2mG2a5nwXz1+brBnkSnQWwEQRvfaOZ5g7tPChB7rp1uLGyQnJf6fgk13D7d8hI/K5dVspq83z8mOJjldMysDdQpWiLNH7V8Zmhe9LxSl8Kui09bsc4/S24V+LS6VieYKTOcXR0/BFE+9kT7oSSpk4i/CnXj6cUg6IySYD/g3eXMGgyc7enSZ5xZ9dVxVJ0szvFCvaIMnd0oizv+i98pHSstJQ5W+hlqri+Q49WlvonR8RBhqqnYpZ6vob09Ymkq9YD2/1l13Du9aeyM8+Zol9QR2BxD1tRN6qUPZCD6DCpVJbBzexm7xeKVhTXjDoERhy+4VCmuIuFC/3MVLqtg8UqoIj6dXRvsNTObOqqGtUxzFh2Bq99qyAE2zZc/FsqTMHAvTfK08ZTdWXGT9CnoqGMvYiT6uQKEkjqeL3n2KA7d4wCYnj5MQlHkjrD4IaVBpFyMGClqgNYN3bdarFH3nsMOP3x2W3hP1BFsjRG6Ddj+N/6xL1rbL0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:DM3PR07MB2250; BCL:0; PCL:0; RULEID:; SRVR:DM3PR07MB2250; X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 4:zGcd6O654nJDYyRUphCmkfRscN6vHbSIoOC1vUvnlSGIruyftsCBM7+J/HoJ5do6d324cDUz0lxpaNR3oLrECJiN2AWuaSEci7633yraETPA4ko87NAGTM+5C/3s1WWQwTKzkbiCEpvh2XNC4R8pnPMFEU5lOyYaxVcR9o/yhiKWqmJLEqbHBw+Ejg9hOmukHTVhApYG9G6dnegy11Dl7FMaHcTet7xNDzbCg0nzOSAzTC0i/uAKsmw7Tuqzna5JOyMtmJrPXF9mvF0xeIBVhCr5fJBHldaeLRK53R4XLq/GDIujLdSmXekuWeXlBVlEl2Ak0nNhfdDLkRUMsyxG0bLKgvO+/IlpUIe68xYlLmeakmZbSnqegb021alyYCkn X-Forefront-PRVS: 0987ACA2E2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(189002)(199003)(42186005)(3846002)(6116002)(2950100001)(107886002)(77096005)(81156014)(81166006)(8676002)(586003)(48376002)(66066001)(47776003)(189998001)(92566002)(5003940100001)(76506005)(68736007)(50466002)(36756003)(76176999)(50986999)(229853001)(7736002)(33646002)(305945005)(4326007)(7846002)(4001430100002)(5001770100001)(50226002)(105586002)(2906002)(19580405001)(97736004)(19580395003)(106356001)(101416001)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM3PR07MB2250; 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; DM3PR07MB2250; 23:ELu6rs/EpCFN6+I/xAcfQOxWv9++9zPEVEz1eYaYD?= =?us-ascii?Q?w9W0yvgQsSiJ6b2g0WFk+n5TBxzd9GAv0S6GWPPpSUyAPW4An05EFlN70gB4?= =?us-ascii?Q?pBzNzHPn+NAxi5RYjEkeMBO760z6oKAWXtyFDkkYI1Lcj5myMVIGGgK/MAah?= =?us-ascii?Q?dkXheCzOclGTbswloAk5X90Bn06U46VYq/20HA19O/kdyqIwDiZGwhmch+gb?= =?us-ascii?Q?VpzznjB0j6chcEfufDQoaOkOJDy5qcLSQqcIL+ssMvzSBf/ZGO9mfsro9eCW?= =?us-ascii?Q?SNxxk8cui7IgHYuNNn/042HI0yz5q7taC2MvLUvww7X1N8yygKgJRkglu7tB?= =?us-ascii?Q?RTPIAJiQPDCh3/CKRKeMB6uGmFaM1ZYQ6Uv8PLK4JohCzttnkHcRUN0eCJVY?= =?us-ascii?Q?J6yzuMgk9xWSszNd9tVTagbEC1pDFKUjo8CXrkpSCu5rR6Ek0gpRnhgcIYsh?= =?us-ascii?Q?aJcs/mO3saqafO26R2sXLyKZXf8ZWkoXBcVOOmjYkZhtB2Jq6WN2oAZWyWHB?= =?us-ascii?Q?0lWQBpfFJbvUjiUi4vxCUd7r0PHiGnh5ld7POaoaaQ3qH9h2Ikv3xhA0LsE1?= =?us-ascii?Q?Jo+01GfWxq/8lr2vCiCjcJesxy1ZM2kFGL8CHEhB1jpAifQ3QuJ+5fNIO2d1?= =?us-ascii?Q?4JuYszdaZAeELY587NeWee4VxXFi5TWhrj8+OlBTx+WrONGwdMuWoozqEPBu?= =?us-ascii?Q?vXiET/iSshLjpxePUkPf2hBrxJdqH8Cq42re6i7TOG9DLdDrmu7STWEek74S?= =?us-ascii?Q?kJWlAog+zO5OXeCxcLM8I8xRxhAmx2uOjR7IyTxZt7L3XYm0+S3Eg/Z3WoUK?= =?us-ascii?Q?eSry/TBWxnVUAzHj/ktjxYsnjxmdQHHjGnaLd9ZhqUf7cSaEvDz1QHCXuCC0?= =?us-ascii?Q?GvwLdF5lDjqNatkbnOx8jLSGWUTUdJGXS7oFusyfmc5/VkhbFoOI98s0fVFU?= =?us-ascii?Q?74aUAP/Txye0zk18K5HkNls+Z+Nz/XEDv3wxTwlus7rVGjEcnOFhQi97V/vX?= =?us-ascii?Q?KymY/OMTW8vqhhKv/GJKICO8rjOvalD/sMauUpar7EKMJYKCCtpcXn0MmFNT?= =?us-ascii?Q?aJpbwKsFzlZCoPpx5uUCFKl+Hnu2nUMSZzrKBCNkjE3mi7qwGDQoDOdWx+oX?= =?us-ascii?Q?bwy3pUzKVN7aYobUceHu+lA7exNm0r2?= X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 6:HTcDKUdqBcDVceSePRAsl6ELuLsPlNCeZdDacVxh7PNCFcp06mzx9xGTclFjRa7ZAB/2mvDVfEbCi3EqqOpzlDytlRXTOzS2fUxQ5mwFlZSNUt7SThDawIJxTtxtD5SU0l2qP0UVuVMiP07VXKlRSY2f4tuetnEsATtHNfWQGwQ2+D3R8krlSK/3KZ0y1I3xZ/O2Lbx/15XjP333q28b9yf6oVJKFh12/hbJI0hTUiFXlIdMj8+O3cwPVSK51PbOCCNgr5RmxonGLRIrSnzT22ZMMm1lvQP/6+s/26VED+PEf0tAo4wgCgJS+9ZDIlTp; 5:x5Gy5avPnh6cSAf64S3b+zbr+/sYWTRCmV5ZItEPejVkZWuBMiqE7GjskLfGHYnT45ZNc0uEnA3/U/J2XhQAHRdiKoqBZQ12MZiRD5/rEkSHEUlDd82CYCEGOl61JltSa7B2zcscWIaY7KOGlpnLDw==; 24:wAytd26SKHWcrEIjF0/NFSeqH7e0Eba1MVY1EmmkS/7nwJCmsm5ITymvTYPFq+IADEx4xuO7Fntw+HWLErbTUEGdYdzRZv+NYZfe1nxmy88=; 7:ev9DHSRZkr3Ri5odJto7XWDTJqoI/KgFMO03wMdhp18LlUnb58TH/rQZN0rwh/K+tZxTPJHhJix9OoRk8LnV09df42zdJb5in1dhMDA3YAQtID6e8hCgKO9+1prqsczdu4eIVoJ2HBDEkeyOihRAAM7Vk9r5sC5wmbildhXIM1E+SlCfqq7KA7eST1+NGxCzvzIxvNCCT4kkh+zOt9g9wtChA3HZ0Ag20B5Ql5mQSBJWKYMg+n1Bbx8TU4gc9SlfCmwa3YLf8jmKZR6e2YZ+BQ== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2016 16:40:54.5639 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR07MB2250 From: Andrew Pinski This converts dl-tlsdesc.S code over to use the new macros which allows for sharing between ILP32 and LP64 code. * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_return): Use PTR_REG. (_dl_tlsdesc_dynamic) : Use PTR_REG, PTR_SIZE. (_dl_tlsdesc_resolve_hold) : Likewise. (_dl_tlsdesc_resolve_rela) : Likewise. (_dl_tlsdesc_return_lazy) : Likewise. (_dl_tlsdesc_undefweak) : Likewise. Signed-off-by: Yury Norov --- sysdeps/aarch64/dl-tlsdesc.S | 48 ++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S index 05be370..09cd158 100644 --- a/sysdeps/aarch64/dl-tlsdesc.S +++ b/sysdeps/aarch64/dl-tlsdesc.S @@ -74,7 +74,7 @@ cfi_startproc .align 2 _dl_tlsdesc_return: - ldr x0, [x0, #8] + ldr PTR_REG (0), [x0, #PTR_SIZE] RET cfi_endproc .size _dl_tlsdesc_return, .-_dl_tlsdesc_return @@ -95,9 +95,9 @@ _dl_tlsdesc_return_lazy: so it reads the same value (this function is the final value of td->entry) and thus it synchronizes with the release store to td->entry in _dl_tlsdesc_resolve_rela_fixup ensuring that the load - from [x0,#8] here happens after the initialization of td->arg. */ - ldar xzr, [x0] - ldr x0, [x0, #8] + from [x0,#PTR_SIZE] here happens after the initialization of td->arg. */ + ldar PTR_REG (zr), [x0] + ldr PTR_REG (0), [x0, #PTR_SIZE] RET cfi_endproc .size _dl_tlsdesc_return_lazy, .-_dl_tlsdesc_return_lazy @@ -125,10 +125,10 @@ _dl_tlsdesc_undefweak: td->entry) and thus it synchronizes with the release store to td->entry in _dl_tlsdesc_resolve_rela_fixup ensuring that the load from [x0,#8] here happens after the initialization of td->arg. */ - ldar xzr, [x0] - ldr x0, [x0, #8] + ldar PTR_REG (zr), [x0] + ldr PTR_REG (0), [x0, #PTR_SIZE] mrs x1, tpidr_el0 - sub x0, x0, x1 + sub PTR_REG (0), PTR_REG (0), PTR_REG (1) ldr x1, [sp], #16 cfi_adjust_cfa_offset (-16) RET @@ -187,22 +187,22 @@ _dl_tlsdesc_dynamic: so it reads the same value (this function is the final value of td->entry) and thus it synchronizes with the release store to td->entry in _dl_tlsdesc_resolve_rela_fixup ensuring that the load - from [x0,#8] here happens after the initialization of td->arg. */ - ldar xzr, [x0] - ldr x1, [x0,#8] - ldr x0, [x4] - ldr x3, [x1,#16] - ldr x2, [x0] - cmp x3, x2 + from [x0,#PTR_SIZE] here happens after the initialization of td->arg. */ + ldar PTR_REG (zr), [x0] + ldr PTR_REG (1), [x0,#PTR_SIZE] + ldr PTR_REG (0), [x4] + ldr PTR_REG (3), [x1,#(PTR_SIZE * 2)] + ldr PTR_REG (2), [x0] + cmp PTR_REG (3), PTR_REG (2) b.hi 2f - ldr x2, [x1] - add x0, x0, x2, lsl #4 - ldr x0, [x0] + ldr PTR_REG (2), [x1] + add PTR_REG (0), PTR_REG (0), PTR_REG (2), lsl #(PTR_LOG_SIZE + 1) + ldr PTR_REG (0), [x0] cmn x0, #0x1 b.eq 2f - ldr x1, [x1,#8] - add x0, x0, x1 - sub x0, x0, x4 + ldr PTR_REG (1), [x1,#(PTR_SIZE * 2)] + add PTR_REG (0), PTR_REG (0), PTR_REG (1) + sub PTR_REG (0), PTR_REG (0), PTR_REG (4) 1: ldp x1, x2, [sp, #32+16*0] ldp x3, x4, [sp, #32+16*1] @@ -233,7 +233,7 @@ _dl_tlsdesc_dynamic: bl __tls_get_addr mrs x1, tpidr_el0 - sub x0, x0, x1 + sub PTR_REG (0), PTR_REG (0), PTR_REG (1) RESTORE_Q_REGISTERS @@ -279,13 +279,13 @@ _dl_tlsdesc_resolve_rela: SAVE_Q_REGISTERS - ldr x1, [x3, #8] + ldr PTR_REG (1), [x3, #PTR_SIZE] bl _dl_tlsdesc_resolve_rela_fixup RESTORE_Q_REGISTERS ldr x0, [sp, #32+16*8] - ldr x1, [x0] + ldr PTR_REG (1), [x0] blr x1 ldp x1, x4, [sp, #32+16*0] @@ -346,7 +346,7 @@ _dl_tlsdesc_resolve_hold: RESTORE_Q_REGISTERS ldr x0, [sp, #32+16*9] - ldr x1, [x0] + ldr PTR_REG (1), [x0] blr x1 ldp x1, x2, [sp, #32+16*0]