From patchwork Fri Dec 9 13:23:35 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 87474 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp303589qgi; Fri, 9 Dec 2016 05:24:41 -0800 (PST) X-Received: by 10.98.99.197 with SMTP id x188mr82386601pfb.179.1481289881653; Fri, 09 Dec 2016 05:24:41 -0800 (PST) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id a96si33934007pli.233.2016.12.09.05.24.41 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Dec 2016 05:24:41 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-return-75686-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org; spf=pass (google.com: domain of libc-alpha-return-75686-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-75686-patch=linaro.org@sourceware.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:cc :subject:content-type; q=dns; s=default; b=jbt1R+hzluEPT197+NUKk kw/h5gQExMsWm8jB0YhYHWNbXqW/Tq5dky4xAtqo/iwOwhHKJbHJSeRe0OuhAaH2 hrs78/6IGiVX24PDjsppvhDE3vldv7GvhUZ2mlrE/uzQrZ0WKamXAXoGJtSE5p0j 0SxS2FOruGqFY+mFaR9RPg= 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:message-id:date:from:mime-version:to:cc :subject:content-type; s=default; bh=2WAK5CFSUzZlrs08HxX0HFHLU8M =; b=QSqhjqw6vjfRSYJXnTnOw+QKJpSYQuQxe8DoMKIYa5ItwKk0BoQR8B39Ehh FC3ECoNXq2J6wybTBfdNkmmaDzVC88RQu3o1HQaSjQBakOPx10Y9SAsad9+JGHM8 FuARwv5GYEM/oIGjpPVVUUq4B87y1PUU/Fs1yk+5yO5ZIank= Received: (qmail 14925 invoked by alias); 9 Dec 2016 13:23:54 -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 14640 invoked by uid 89); 9 Dec 2016 13:23:53 -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, SPF_PASS autolearn=ham version=3.3.2 spammy=1766, sk:szabolc, szabolcsnagyarmcom, Hx-spam-relays-external:sk:EUR03-V X-HELO: EUR03-VE1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Message-ID: <584AB057.5050605@arm.com> Date: Fri, 9 Dec 2016 13:23:35 +0000 From: Szabolcs Nagy User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-Version: 1.0 To: GNU C Library CC: , Marcus Shawcroft , Florian Weimer Subject: [PATCH][AArch64] Add more cfi annotations to tlsdesc entry points X-ClientProxiedBy: HE1PR0701CA0061.eurprd07.prod.outlook.com (10.168.191.29) To HE1PR0802MB2491.eurprd08.prod.outlook.com (10.175.31.151) X-MS-Office365-Filtering-Correlation-Id: af077cb8-6fde-417a-ade6-08d4203696b0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:HE1PR0802MB2491; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2491; 3:aC1geHO40Zjcrx/fdp+uDdNpP0puFl9X/ZjI58Y7uC6GpKe8jYUzy8RfCRswkpIwy2EmawaQsK/Da2sgBKHGQWwcKmyOK4xel3XBn5oboeKsngwX/hoQsh/PatgVHWvhSEWrtptJNqGlC61finvYvjksfPyJu3G2lw+acrRGrzN7RxseCcEl8njLmE3wxI7Fun1y9y/YHQe6T5AgCkKWoNl5170y2U8+ANqbnFtXGL1icembTtZJCR8TRZ6mfConw+yGj7JHak6LuC2tUziG2A== X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2491; 25:okYSZEm6eAyUlV0PkFTrSxuziYXuuRKVBXle8THdk0VUH2GSr6QUukoNpb141Ym4iz4ptz+RgzzJZsebKBRHWWyr/PaC2niIsitLxL5mCfSMcbX2tsufWnuqQHoTRe4fYSw3t6j+DQvjqTLz/2qahdZWUcF90LWW7FQ/YgywKxSo2SA0Tpc2k6BMABnC+gA6+qoLAgV0S2mxOFXv1dkKEn901YhEyNqSeiOhtzYaCXqnTGpLIYD/3g7khaV1WA4i9RXvKazPNP4AFDgBRh24qdQhc/hwjT/YJB+FlVIDna7QwXEt0Hy6tGLKHDpfOU/4+kqKkakX73yecTCC7Lvq66voUmVAAXaSRRRUttYT5XN/bSi/PvSDST0tXEN34BmhE5fpmo7q6qMLUHBz97bcmmoTiRaCzqP9+YcAnyoQb/s6rMZmHlFgcQGGyBttJ7+6iT28B/12tv2YxAr6gm+TlRYZnRpV8DEBbL/kT/FRIhIOguDq9QdJaYDuQml0RnWlugBPI0SOvi87JYxs78/DpBr/uEeEzzuBW0G7hhZ1KiED+qbd8D47Kwon2LkTCU+QBM2T/xU/efBE7TB5wyYqxTxWmRTMHW0+Vss2i3zBdWiPvntgKc2mFPCG+GbWwHUEiBwZkalmKhGysck8tcl0PyHSberBUk7MCeT2PtC5sZf/gTCO6pw5qSL4cfwlEvDga8MN2AXymQbpkWrznPRgowdfGJi3hmH81JWwhFSiXTfPuF3Odx1xODjJgOm4w6dyQmXHZ0H4xJSnWi+uHx4uiyZ7srlYNCEmHfWv189GFVsZyMxWKlMOwRqUq+cijENFqr7WUv4Fn1L2JJk9KjHbe2vfevzcYdb3v3n8po6djZV4dx94fP0/XckIirufJuh+ X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2491; 31:R8jBY59Bmps4tPi6Vz9O9kWHu1t24y7DyKUQ1JreH1sLBLBeySrQeYRTJdl/r0Od0DTlkvSWnV2i+61j7nA00Zzzxx+JsLiAwvY7Gw3rJgaa7WtIucrMtsNW9eWIad8HaavqvDFUzJg3O3pX0fmUSm5SY0l15jst5KrL8P1/eK/QR/lMCvLzl/HBE1LJnDtcka1n5mZ0zD6L19ALdLzdrwl3GJEoktPfFv5sfwyGOcXiaD53SSvWItpHyGkz6uQXSyyCCc9pXqlfyLuS54MKbh9m+kQR5WlVZAkjORAk6+s=; 20:pjV0o4E3LgDIZevshlcYUOoFfpYwfqtPRiOceyzLPQaUloXKzKqKukJ6V9ruMowCTC72bU3BU4FDCyFCFhsDfz23XV5/xuEe/YQW7DEMsZ5AKQe3IHYaVxhF/qr78NiYcuEgaqYv96SGM9uhac78jRySvHu2lhhAcmTp29QJNO0= NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(102415395)(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123560025)(6072148); SRVR:HE1PR0802MB2491; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0802MB2491; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2491; 4:8tSE8MhdinbHxZ3PCImAre1YhOdJOOKjDZFiusd3ECaTN2J9vR3LravHFiyrFqaY7zaMo7Q5slYvBi0DlKA8n56Z40wJ/cvJmGx9V3FCkYsq+gXrC5dkNTZcASzkY1mLKA7SAgi+/uYFN8yOR0snZiQQLr1ufaVPZ4fJvsibM2y/fPPuwGrkEwFUxCIwGnR3/Dknjm42QSzklZ3IJ2l9o40FsE8b2f52MOGuQX5zPL9I0qvb8oj3Zo0ZsTKEnRU7L8uP+aI7aKEWf45aFOys1DSr680laxFtAncic5o286M7iKKZZCJasNNl1wfV9Zrt4MagXdwCfZZI6ZSECwjAmBcLLG9MSeTKfPE5g1X7a4ypuNIBblkbNc+gF3P88NBDvPnUFUdsGfqQMc++vyvD/GjXBF2LDIYUxy2/+xHj/rd8xVBD13rawMpuS1otZg0ZtYCZaK4rIurRiX+szepdwiRkEQD+ndJKs22cXNxXSOInWyl8uf3Ujo4ilqR3PT8lORe1mAO4pYs890LKPtoXPqP0qCuXx4ELrwWrMjHsJlsfZF+DpOQ8g/z3IGfKycKoeBNaHJmH75YWb8oWxJdzFKjSj/di5CbkEU9q7Vvdntqextw9d7ltodGxG+LNBMb2Sl3ui5naIBW1cL+/gMmNDO/3zd9OoLZ1DOCMUBi8UP0= X-Forefront-PRVS: 015114592F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6049001)(7916002)(39450400003)(39840400002)(39850400002)(39860400002)(39410400002)(189002)(199003)(377424004)(68736007)(59896002)(86362001)(36756003)(6666003)(101416001)(54356999)(66066001)(90366009)(733004)(87266999)(65816999)(50986999)(80316001)(7736002)(33656002)(21490400002)(189998001)(305945005)(4610100001)(6486002)(65956001)(5000100001)(65806001)(77096006)(2906002)(8676002)(2476003)(105586002)(92566002)(97736004)(6116002)(3846002)(106356001)(4001350100001)(4326007)(5660300001)(81156014)(81166006)(512874002)(6916009)(38730400001)(568964002)(270700001)(84326002)(42186005)(5890100001)(64126003)(83506001)(110136003); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0802MB2491; H:[10.2.206.73]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0802MB2491; 23:082sgNPpgYU89/eBJ15SNqfL0hu1HFxQu9dCJ70?= =?us-ascii?Q?iuERDChX5uAbV+yORbw4TszzwsLkBazUcGr0aYYbVwG84c9BnXjBrbQfOm6h?= =?us-ascii?Q?oiYB3nHgI5Q7rIMjOYsz2En2Kn2yHeRJ/KzJOxWewt1CS+wLyvCh3iBNbRu8?= =?us-ascii?Q?cadNNqZUOZmfgXA3h9dPnS9/7dX89vw+MmeVKiihZvjertautHI1BxPNdURn?= =?us-ascii?Q?UKylDrm7xMIPlmkpadwrP/t73qKigYs2oAG6+oLdZ1LGMCsH7rqjbwujFY8M?= =?us-ascii?Q?ibR8Ysx/d3dgr36KMxOzyVb7QobB/qg08mMvFaLfMrL+TE4TURcIIZz9NQOK?= =?us-ascii?Q?M9wGICOTJj/JKR6EmmHnggDn3caE3qRBAMssW4RcqQ9yg5bh2jSYpYnhi5tS?= =?us-ascii?Q?aoOgXr6gcEBr3wZ4OuFrrQ2QvyIdbaFLJthy5My3nv1lCihy5YgTl5k3D/bN?= =?us-ascii?Q?4qlMWBqq0hSnum/fOKGhBR8Kcqy6pR7wRw4bvm1T4mkWlpPsUgLk9hKJMfN5?= =?us-ascii?Q?MDkpXriD6oDin+9PdhWRmPZwGpWUEcLQzlrKDmV2y+OKE6y556owrZQZDkrt?= =?us-ascii?Q?sUBTstcwpOQ5yilhNXCHvxwUfIocR9A2IhiOqmYiA2kVJlwxqh22G9iiOJ2N?= =?us-ascii?Q?m8HM3bNEX7vFFLfxbRkGhoWLQLP05IhiOX96Otf3nV/X/Lg86O+UQPRtxGtA?= =?us-ascii?Q?5N7OHY27W+AXylvEArGp4js2uZHQWuqc5R+nCaQRvMZ5PK7nvBQ3ZMOHQ2pR?= =?us-ascii?Q?mZOdv8C3mRxwcBJA2m6ZU9cXJ3r0Mj5MYlG4lLq4mZGXpZLoslIbq1+zdxUV?= =?us-ascii?Q?wAU9VEVLZuDAUFYRZwBp3F0UORnWWJa+KJrhpjXpuJkPkQ2pRy6GpSScEeNN?= =?us-ascii?Q?AAzDSE5AEyv4bKuwinouKCPnYNLDAQau23jOnZgwJlZ4VuVhu1Dm8gugDNSW?= =?us-ascii?Q?0ufMRlNtdFmQIr30xzMcPCiBau4M0W2thqINclucTAl6EZ4/ultRbSlhj4U6?= =?us-ascii?Q?bUb/AczTNDDZfqgBxaGZcsPFcKu/Sp3IvBn/MBcN96PEDedY3iX/8zvz6mGc?= =?us-ascii?Q?Joh86c7tBeypgihQ5NfOBDpkuFn+QbClk/1LQ0C0E8S8VoJzVFJbJojgr+Yh?= =?us-ascii?Q?MzVUKi2PdFuFi74Ozs6jfWuKF8k1rfF8znkKIJBn9eStOSFfAfAB50Xhjjn6?= =?us-ascii?Q?HE5LWShSQFMKSIlo3JpcG6HB0NRlD6DrdhdJJftIT/IN1qpw1KKWU+KP3O1B?= =?us-ascii?Q?TfJFv4Q3X+f0y21FT/NN9tslP26DUHTexcQFRcZtf0/Gypbt3AJEi1eXrQW2?= =?us-ascii?Q?gPmMkkBF4cRZU2sBOdlKPi5mOMLDjrOHIPwGywIl1BVjyaevM+bZa1FQNOXA?= =?us-ascii?Q?WS3ME87FSarBFeHcBtRJef9Vtsncepz3dRNWIgx1bSlKQIeR0pkljL0UGix2?= =?us-ascii?Q?I5JV2Ttm+HHSRx6huMb9r0ZwUt0L990qyQ9AKXzU9mu9QGDNkcU0rjmIGRXC?= =?us-ascii?Q?huVuKRC3JhhftBxz4dd/gKVHUa0pjaESBxG4=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2491; 6:GFubA6PTHiZUjCPs+SnWDU3sVcur6hrq7Bly5qjjw6aEXGWH8NNK15epM1b894ckTIt32iLlnKlDFQF9eYgD6rbXoeaoOElJ16aW1as1zdd+xbbHZpEulHVS3imAi2OgeoFqxBe7aOEAMXuhpODdNu1v8OXcGuoqndvvMiShikjzIyAcuP0SO8/XXnecqGXBYgoikuGeyL+BhunkYVNivEyDVkBA0C7OKvzDc3NVuZz4Rp/WwKufRM78XtoD5Tr+p6O7sp+PpsBWrDur/fMkRNQcaqEooNA+rc3Nh117I5tc2Zx9uo4L9ZrwU1DaAM5bAB0fitUkyCCAma/tiKWFxF6bxlvV/bkM+ma3oq9XBv9BpGW4JJhyqEmX5XoPfYMLhjArgbbd2fyLQiIOYRjCtkbbg/HPLO2GfP4DMzUxCTtokn0qpwgvyDjRD94sfJNti9NalcLFh6CqjQ3vgFs+fw==; 5:HbZ88NTqCnG8HM+L8YxOpFgjyEJVBLzO/XtkX3ViHXiiuqvZrdW/IrUpNMc1ur+EAZE7eRbuRWMYWKb6whTe8oVuiwD21hGsiwnwcNvpR9n9+i6qUSCcWzYTapSIL+Vi9BBQWYfdQMjSnhUdoz/WgQ==; 24:60v0ha5H1tdZ9yiS4aTN7pUOCrG3bhYzXcnlRb3HBZf5hVlW/uAn2fyZERUZqqGKLcKJSFy8VuN1GFrJnDnvvbPl6gCKavcw4AqI+CtZ7fM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0802MB2491; 7:/bSn8XIgrV6CVzfd1hhlcXePZlHSGpMsKINUVfXGKKMDyL3J3iqTFivODemXlNMEtKFJtR46ucFjBrgnWESvSPSIeY8QFV7qF5xLlu46vw+kyf1EJoyFElgAtrVSu8AkeVxSuprZeYH8egU4DGg7gg8xcDW/vxuF6lwMc532P7i8Anx/0fvWc2MMJYEh4hxggPAt1/pwns7Az8NjMVSsqW/thPTmIcnVCQsn2/aCeztlPRbfqML9uFlfn2t3vs7VRglD3UJYsuiZsqXcBXfo5iWHVC7LxPLMOHW3TJoPvOjUnJqq+5rn+aNBUqHS6rKS4thzpHMyuDpT67D2A6MdP3RrPAX/em6snXPB4yb2uhu9R8dMWIzc6MfxW/Yqg8RIv/agC4lz31G/c+IaNOK4hLK/JfQNNJgmfPpIfDc0njUztx2jIU8kX8ZFIdA6H4WdG5bu2WktIiX8xu0v7Nf2LQ== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2016 13:23:39.1484 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2491 Backtrace through _dl_tlsdesc_resolve_rela was broken because the offset of x30 from cfa was not in the debug info. Add enough annotation so backtracing from the dynamic linker through tlsdesc entry points works and the debugger shows registers correctly. (manually tested with gdb.) 2016-12-09 Szabolcs Nagy * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Add cfi annotation. (_dl_tlsdesc_resolve_rela, _dl_tlsdesc_resolve_hold): Likewise. diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S index 9e557dd..40a19d4 100644 --- a/sysdeps/aarch64/dl-tlsdesc.S +++ b/sysdeps/aarch64/dl-tlsdesc.S @@ -176,6 +176,8 @@ _dl_tlsdesc_dynamic: # define NSAVEXREGPAIRS 2 stp x29, x30, [sp,#-(32+16*NSAVEXREGPAIRS)]! cfi_adjust_cfa_offset (32+16*NSAVEXREGPAIRS) + cfi_rel_offset (x29, 0) + cfi_rel_offset (x30, 8) mov x29, sp DELOUSE (0) @@ -183,7 +185,11 @@ _dl_tlsdesc_dynamic: into slow path we will save additional registers. */ stp x1, x2, [sp, #32+16*0] + cfi_rel_offset (x1, 32) + cfi_rel_offset (x2, 32+8) stp x3, x4, [sp, #32+16*1] + cfi_rel_offset (x3, 32+16) + cfi_rel_offset (x4, 32+24) mrs x4, tpidr_el0 /* The ldar here happens after the load from [x0] at the call site @@ -213,6 +219,8 @@ _dl_tlsdesc_dynamic: ldp x29, x30, [sp], #(32+16*NSAVEXREGPAIRS) cfi_adjust_cfa_offset (-32-16*NSAVEXREGPAIRS) + cfi_restore (x29) + cfi_restore (x30) # undef NSAVEXREGPAIRS RET 2: @@ -224,12 +232,26 @@ _dl_tlsdesc_dynamic: # define NSAVEXREGPAIRS 7 stp x5, x6, [sp, #-16*NSAVEXREGPAIRS]! cfi_adjust_cfa_offset (16*NSAVEXREGPAIRS) + cfi_rel_offset (x5, 0) + cfi_rel_offset (x6, 8) stp x7, x8, [sp, #16*1] + cfi_rel_offset (x7, 16) + cfi_rel_offset (x8, 16+8) stp x9, x10, [sp, #16*2] + cfi_rel_offset (x9, 16*2) + cfi_rel_offset (x10, 16*2+8) stp x11, x12, [sp, #16*3] + cfi_rel_offset (x11, 16*3) + cfi_rel_offset (x12, 16*3+8) stp x13, x14, [sp, #16*4] + cfi_rel_offset (x13, 16*4) + cfi_rel_offset (x14, 16*4+8) stp x15, x16, [sp, #16*5] + cfi_rel_offset (x15, 16*5) + cfi_rel_offset (x16, 16*5+8) stp x17, x18, [sp, #16*6] + cfi_rel_offset (x17, 16*6) + cfi_rel_offset (x18, 16*6+8) SAVE_Q_REGISTERS @@ -268,18 +290,41 @@ _dl_tlsdesc_dynamic: .align 2 _dl_tlsdesc_resolve_rela: #define NSAVEXREGPAIRS 9 + /* The tlsdesc PLT entry pushes x2 and x3 to the stack. */ + cfi_adjust_cfa_offset (16) + cfi_rel_offset (x2, 0) + cfi_rel_offset (x3, 8) stp x29, x30, [sp, #-(32+16*NSAVEXREGPAIRS)]! cfi_adjust_cfa_offset (32+16*NSAVEXREGPAIRS) + cfi_rel_offset (x29, 0) + cfi_rel_offset (x30, 8) mov x29, sp stp x1, x4, [sp, #32+16*0] + cfi_rel_offset (x1, 32) + cfi_rel_offset (x4, 32+8) stp x5, x6, [sp, #32+16*1] + cfi_rel_offset (x5, 32+16) + cfi_rel_offset (x6, 32+16+8) stp x7, x8, [sp, #32+16*2] + cfi_rel_offset (x7, 32+16*2) + cfi_rel_offset (x8, 32+16*2+8) stp x9, x10, [sp, #32+16*3] + cfi_rel_offset (x9, 32+16*3) + cfi_rel_offset (x10, 32+16*3+8) stp x11, x12, [sp, #32+16*4] + cfi_rel_offset (x11, 32+16*4) + cfi_rel_offset (x12, 32+16*4+8) stp x13, x14, [sp, #32+16*5] + cfi_rel_offset (x13, 32+16*5) + cfi_rel_offset (x14, 32+16*5+8) stp x15, x16, [sp, #32+16*6] + cfi_rel_offset (x15, 32+16*6) + cfi_rel_offset (x16, 32+16*6+8) stp x17, x18, [sp, #32+16*7] + cfi_rel_offset (x17, 32+16*7) + cfi_rel_offset (x18, 32+16*7+8) str x0, [sp, #32+16*8] + cfi_rel_offset (x0, 32+16*8) SAVE_Q_REGISTERS @@ -304,6 +349,8 @@ _dl_tlsdesc_resolve_rela: ldp x17, x18, [sp, #32+16*7] ldp x29, x30, [sp], #(32+16*NSAVEXREGPAIRS) cfi_adjust_cfa_offset (-32-16*NSAVEXREGPAIRS) + cfi_restore (x29) + cfi_restore (x30) ldp x2, x3, [sp], #16 cfi_adjust_cfa_offset (-16) RET @@ -332,17 +379,38 @@ _dl_tlsdesc_resolve_hold: 1: stp x29, x30, [sp, #-(32+16*NSAVEXREGPAIRS)]! cfi_adjust_cfa_offset (32+16*NSAVEXREGPAIRS) + cfi_rel_offset (x29, 0) + cfi_rel_offset (x30, 8) mov x29, sp stp x1, x2, [sp, #32+16*0] + cfi_rel_offset (x1, 32) + cfi_rel_offset (x2, 32+8) stp x3, x4, [sp, #32+16*1] + cfi_rel_offset (x3, 32+16) + cfi_rel_offset (x4, 32+16+8) stp x5, x6, [sp, #32+16*2] + cfi_rel_offset (x5, 32+16*2) + cfi_rel_offset (x6, 32+16*2+8) stp x7, x8, [sp, #32+16*3] + cfi_rel_offset (x7, 32+16*3) + cfi_rel_offset (x8, 32+16*3+8) stp x9, x10, [sp, #32+16*4] + cfi_rel_offset (x9, 32+16*4) + cfi_rel_offset (x10, 32+16*4+8) stp x11, x12, [sp, #32+16*5] + cfi_rel_offset (x11, 32+16*5) + cfi_rel_offset (x12, 32+16*5+8) stp x13, x14, [sp, #32+16*6] + cfi_rel_offset (x13, 32+16*6) + cfi_rel_offset (x14, 32+16*6+8) stp x15, x16, [sp, #32+16*7] + cfi_rel_offset (x15, 32+16*7) + cfi_rel_offset (x16, 32+16*7+8) stp x17, x18, [sp, #32+16*8] + cfi_rel_offset (x17, 32+16*8) + cfi_rel_offset (x18, 32+16*8+8) str x0, [sp, #32+16*9] + cfi_rel_offset (x0, 32+16*9) SAVE_Q_REGISTERS @@ -367,6 +435,8 @@ _dl_tlsdesc_resolve_hold: ldp x17, x18, [sp, #32+16*8] ldp x29, x30, [sp], #(32+16*NSAVEXREGPAIRS) cfi_adjust_cfa_offset (-32-16*NSAVEXREGPAIRS) + cfi_restore (x29) + cfi_restore (x30) RET cfi_endproc .size _dl_tlsdesc_resolve_hold, .-_dl_tlsdesc_resolve_hold