From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751540AbcFUJLg (ORCPT ); Tue, 21 Jun 2016 05:11:36 -0400 Received: from mail-bn1on0055.outbound.protection.outlook.com ([157.56.110.55]:34352 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751384AbcFUJLc (ORCPT ); Tue, 21 Jun 2016 05:11:32 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Date: Tue, 21 Jun 2016 11:36:32 +0300 From: Yury Norov To: Andreas Schwab CC: , , , , , , , , , , , Andrew Pinski Subject: Re: [PATCH 04/27] [AARCH64] Add PTR_REG, PTR_LOG_SIZE, and PTR_SIZE. Use it in LDST_PCREL and LDST_GLOBAL. Message-ID: <20160621082756.GA5566@yury-N73SV> References: <1466485631-3532-1-git-send-email-ynorov@caviumnetworks.com> <1466485631-3532-6-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-Originating-IP: [95.143.213.121] X-ClientProxiedBy: VI1PR07CA0107.eurprd07.prod.outlook.com (10.165.229.161) To CY1PR07MB2246.namprd07.prod.outlook.com (10.164.112.148) X-MS-Office365-Filtering-Correlation-Id: 0fea1005-174e-4acd-c0e9-08d399af2c0d X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2246;2:4zQ4bjaJpELzhlaKkKpMvzA8rWGX/7ojdqlS/MseoxHWIkm7rBlhAuieSBqy79UqmVt9OZP8foBINpUeKGcNbxFe6JicKrcv7Wa6MyoLZuErNpyQh1QpEm/cuv38McYBpEflz4YbLqCgHBiZpFTFxAft9sDMzbFqFkWHDD+uQUHKYfI1wiIe5j85CPbJRBQQ;3:GjJ0BZp/+YYL1I9UE45tEpihSJqMZKJaX9Qhf+RQef1H7Tug7MkTEv6TOznHMOChVtCzJqQMVuqfLJtzXVrvNUjKgpHjjKQeAWqvfDVadM7HVJeus5Vj2tQqnytKszk1 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2246; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2246;25:DcQQRWzqe0aQCMKhUnRUJtJuwxu0ij9x2KBJz9Iqw7ie/kiXVZF6YxxkA0Ldtm3BMUJAfbwIXC/9YoVaiPYh+B2eFP4a/1UCi+42WQw0ZxHsKAKSUZBV+SSm1LBK3+vHpYQG3yRXJjZHgyTUM32uool9pNw9usj9HtOrskYw7NGBq1y/5Fuw3dRbNHgNExSTP08tjI8vJIWYNJhWEbDrJsgOzdwnlL9BI4SDH54pJiP+CHYajhPp0D2QiF9Bxcx7l8dPDqj5t+RmbEyonjlEmG17IaL+S66RSYjmEfnJGuLRFLqwVAlybwulmuZyTW6W+sx3RS9GWDxKqAQHThW0EAYW3uglIEz5mDj7N3DJl009N/e80mOXvNuxYbfidbtvs1isJYdbNbce+V4xvRPrlwEHn1i7lhjbdJGSKLJyQXfM228fi95h5HUL558dH6+ntwSZNj20gr3Wp8B7dKSbUSoYmJxxtKB38RpC94jN5Nl8RcsbcIwe4PQXOsPkE1DW29TFwM/ctIWteK9ZJDQeoBkPCjyiC1fJnCJ4ohDVSS5c4ThmaAkXSYwAEosjsLufqKUNKcWAkpEV0hngEiIZfRm3E4MhiXxrJuixTIldrgm1AUIQoIDkOupH4AhgPuY/4FFZMseUGQ8xCR0ZMYcCrn2fhI6laPppNWEWoMeR0nGXDEixnVeXHVKnYxri7PHSDZoJwnr503eZJ9CzQ3zoIcx/Wrd4lvFoJe104CFTZDEAycxV4/ueKBqosGBEPqJEJRQuKNooax64E1xwsj/wjw== X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2246;20:jRHWijuQpHCglvtRwB2we+b7tPpMkHU2TbS7+PqLtqlWxx8qcRTQ30GPei9TiEnfFfrMU9KI/wiQbgPFLc3+ToSI8hyCBjpSsUFBnbjyKrXSG6SS5F2qu32FCM8RsMvrN5Y98EmOn13QirL1rlxvQoQ6DhUQU3ECOZmEZzJ9nwQGB0YAVZu3r2Ww80UtFZ8gKQdQ8FiDgiAGWzYgE6IArLPZCbCb1oDaotXfbAlnmjnnynFw1lAc+vjB9ulwCUuDF8h0Q4Sn0uA38R8K9LqQ15XChOxAQCHIOLMohygXTDfx3EfBWFAg00q/Fxc/Jm1BvsgBpvp+Ewq6IrvmCvVo1n7xm8zjt2/+xePa+DowK7F4PAXGnDoLDC4jW/pEQhcx68ct7jzzApZmJ6tMmiaOviif+TN7QFvh+tfEZ7SuOLzeBsU3EAyXs8XuKUR28jVSF9PNtGp8q2DQ1LO566xRsRdbVIPPg9HQnrMyJZ9o1esFDHXY5E3yB1Qv3x15HXXfGAGFSmWkgk/AxAFcuOqBGbm71+hg6SVLS/cd8/P31TeWMq+YyEGbiEcgKQ+hbOSv4m2Q3M1zOvEa1TXSi+B44zPQqe51uDRpUpXfbLrMPpE= 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:CY1PR07MB2246;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2246; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2246;4:6e31Yl7KDHZrUMhp5AiwmiDxidgw+GHwelp6D7gmcoFM44B9hKvEqh23fXE5PNwS2LiJoLUBv1IXqhg3MS+FMyVNfshP9OuoVZk/Cx9NGGJou//Qz8VBhodFkSzfxgAFjctrAH0zaRn9EycC2Skg7PGiMnV8B+jaLLdHuTbDG65Iqlshq2neNzGbhjmLUo6gBc63OFxLW91aYuhMlqSwFIzy/PGlIPuLsR/r8fZRwFVG4nyVT3TvYkdAcKZla51YguOfbu5pA1WVSmS1LOPyKjJ8vhZtpU+K1eZ3zZOIKNaPpJyQNoo5l3DWt4Thv9lZDdqyQLUa3nP0RIT7woyMs7Cxi78Q0QhRW4jR2mDXZDLUMajFMMNPfCgZcvvZlCDg X-Forefront-PRVS: 098076C36C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(189002)(24454002)(199003)(9686002)(1076002)(4326007)(3846002)(107886002)(46406003)(586003)(189998001)(6116002)(23726003)(110136002)(4001350100001)(2906002)(97756001)(19580405001)(7846002)(7736002)(4001430100002)(19580395003)(68736007)(83506001)(97736004)(81166006)(106356001)(42186005)(50986999)(66066001)(76176999)(92566002)(81156014)(8676002)(2950100001)(50466002)(101416001)(54356999)(76506005)(105586002)(47776003)(33716001)(33656002)(77096005);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR07MB2246;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;CAT:NONE;LANG:en;CAT:NONE; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR07MB2246;23:u0pI47Si7zRDlQe5r3kZzQLb0WFxfU7MF/5+Q+xkx?= =?us-ascii?Q?k11GivAvFhFTQcDCCclnQpQPLhikp4p3iPcbMGfMfEUt4ztfvEqharVh1syL?= =?us-ascii?Q?beOb/j4SI8FSan6zKoOf4UN5odIDESSIQwkX8T6RhYQ7mrfkN3cvAJCXW5DM?= =?us-ascii?Q?z6CeVZsszxtMF5J5NlOHnopxUAqGfw7UtAaRz5mGp6T1Oh/0/uDDmsjUYoiK?= =?us-ascii?Q?EX6vhY9Q9nFsHNdaPWGoV1JJXnBVQhi1CGDDmy3TwzKGQDMZ0QLkePDnqdV0?= =?us-ascii?Q?xdQ4wZhVphLSmY0o42iV1kJ7K+Y//03mE8VkamKepRsE6PmE+f5Nr06usMw1?= =?us-ascii?Q?xRoHqt+GuGIIUZimq2EjDDaqzx9IqpKR67KftV7RLPR5zDF6+RTBPrf1pawJ?= =?us-ascii?Q?lAeio4JbqDS+jivZCpiwXOXw0qL774a8I11InHOmSqyRY1uFR+A292bEOUH8?= =?us-ascii?Q?9FHO/S4DaaXwbyoOtPjt4m98GyYvZXtlkUvZEXaR9189yynyM026qhriH0ga?= =?us-ascii?Q?nB/qlfJ5QprgYAHIjEX2tz95nrEiPJ5CgOPc2AOGRvF5o1sEsTxv29OJC3EJ?= =?us-ascii?Q?gtCJg4cMMqnK+g8KgmYl4xK7JzFxTG+OB2Izh9Q4GV27stcldbHcwqKj3VCM?= =?us-ascii?Q?hhY8/2yKhH/1nOa0Boc2ch55xh/0IPWfzxXH/Y2AfuJitI5u4XdU/7eoaIVj?= =?us-ascii?Q?Ank5A0i/JQ4BjwkcfFqJBc4VDjO3BZRzHeHcswet0CSPg+LFeWERxJVceQL7?= =?us-ascii?Q?+wkr8mkKNwLZm13E5ZfxIQ2PH549x7Is0M9THstVUnKu/KKUg3HFuguWHU4a?= =?us-ascii?Q?PxSMzRNqoXCEWSndVWt3SXBtUfCXWnWPHRNuk2LuJe1OKqID1e0RDf1Ewj8b?= =?us-ascii?Q?5b1lgwHXtI8I7QLsM2KIfdHZBZN7qCJ/IUV2DNqu+xLeDvt0A8v971+4DNXq?= =?us-ascii?Q?e6cr1dVAJdHNeEKGHwEo6VLcNGA2VFRLSvC1RKqfgYcoqs7U6IhtLqFhIpcO?= =?us-ascii?Q?INKnKX27PtlZcp62C5InGPM19HctcOhI+ZzyrCmxaUCrn4OObK2QM9veeTzv?= =?us-ascii?Q?572M0GyMWlERX4QXF9SQQ3hxZhhQVSxAUcXjqKVzYTUBd9S9IixqLDDEyapX?= =?us-ascii?Q?bCZX25bHzrfcfN3MoHGBbQ6AFuFX92k3eU6MeaaVmgHTzaitaYrPgibcBSfv?= =?us-ascii?Q?i/Hs+ZPLwC1OIsp3VH3thc4ErecY+h8MEQG?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2246;6:cJWbG2T4ZgOuKw8G9BqAftAbVsrM/wiFPZ4KmZFWiA3p9WVOzy2uQerRfScs2EnwophV3SSzTQC+WmEOU1L8JRtidG+YKPVYvUlCuhThfcrAsCdT6/JXZpdt8msUwpaKOgwMY5/6HbfvYTfz6JZIkesF/x6JENPyHjoXiYF1/8AiJphTKFzDFMvPjgcIMLZ/4H4NkM3xSxOoVTj9NjWetTuLjhoNumiHNFxUIO4WMxZnNnWE4uRmAMEX4Lmpfuu6ySF8YWP9oPkxi4xdwDfcEZijPG+CdT2RMhCX4gq/5/4=;5:iO1aa51JBvRPcJUWbBTDZ5Y51dqism80VJ6znXaAkYhx2OLP8xLTtwMmIFz31/lylLP8ybEsKEasOWoILTMQFnH05fQ4FbaJMTuuCFmD5AzdyUouYYScPxoEemFdUuKKy4wZvrYPhyrgaj5+Zne2gQ==;24:dVhNqHVVQgy1N5ltx1dklIP/JfUfyq8G6ED/43Am0cySZ31+FRg3G6zb9+XAjcyhetR6aLgCuUu2l+Oos9TvxnF2xipBHbvh3RsCF6IZwpQ=;7:yPwgvMjnhYmIKL/EYpeDn1ES2nEfGZH53JB3+qRN6ZeP6LQARFnvcUwoPMLDiDkeI4CzyYVJceeiopLnG3HDBEPxzZY3VWnv9LgFgMW4LVwZqeL3ud8GDRBIRMy5prna+t2vs9K+vY7BscUGOoOdISnxdU2KjhqILHEtTlScdynuhYI8AM1XAWEl39h0vPY8e4GVCLhUxovV2hTjs1iJGg== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2016 08:36:42.2253 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2246 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 21, 2016 at 09:54:47AM +0200, Andreas Schwab wrote: > Yury Norov writes: > > > diff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h > > index 4cb028f..f2ea821 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< > + > > #ifdef __ASSEMBLER__ > > > > /* Syntactic details of assembler. */ > > @@ -87,16 +93,18 @@ > > # define L(name) .L##name > > #endif > > > > -/* Load or store to/from a pc-relative EXPR into/from R, using T. */ > > -#define LDST_PCREL(OP, R, T, EXPR) \ > > - adrp T, EXPR; \ > > - OP R, [T, #:lo12:EXPR];\ > > - > > -/* Load or store to/from a got-relative EXPR into/from R, using T. */ > > -#define LDST_GLOBAL(OP, R, T, EXPR) \ > > - adrp T, :got:EXPR; \ > > - ldr T, [T, #:got_lo12:EXPR];\ > > - OP R, [T]; > > +/* Load or store to/from a pc-relative EXPR into/from R, using T. > > + Note R and T are register numbers and not register names. */ > > +#define LDST_PCREL(OP, R, T, EXPR) \ > > + adrp x##T, EXPR; \ > > + OP PTR_REG (R), [x##T, #:lo12:EXPR]; \ > > + > > +/* Load or store to/from a got-relative EXPR into/from R, using T. > > + Note R and T are register numbers and not register names. */ > > +#define LDST_GLOBAL(OP, R, T, EXPR) \ > > + adrp x##T, :got:EXPR; \ > > + ldr PTR_REG (T), [x##T, #:got_lo12:EXPR]; \ > > + OP x##R, [x##T]; > > I think this needs to be PTR_REG(x). > > Andreas. Hi Andreas, Thanks a lot for review. I will handle your comments and send new version soon, maybe tomorrow.