From patchwork Tue Dec 13 12:34:49 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 705389 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 3tdK0w1nxSz9t2T for ; Tue, 13 Dec 2016 23:35:12 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="PfqFZ70v"; 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:message-id:date:from:mime-version:to:cc :subject:references:in-reply-to:content-type; q=dns; s=default; b= BhrKzDGNK96W5jO/q5DsXWVXuw2v5L4pwBT31bYtTdNXYSw7mxQTKYZcEhnU+43x tgIq++a7rJmgMY5+0Zr4cdzvMOxXUFmNLomqCKoLY9mn/UY09JF0lJXZlCxJDK7C 5m9HvDvu2f4kVBkAC1BgJgf9HoyPqDxXPGArr9lSXOU= 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:references:in-reply-to:content-type; s=default; bh=IBKV FooIm70XX2sMv7UDg3144Io=; b=PfqFZ70v8ofORp5OYGcmOroO1ikcGSAhYny3 7zi0aQ7epdSfhEaPzzHdjjV0GxynPjE2hQC8LHy9vKksJ48lQ22t4LRrgnYznb+Z gj6FMxqzlcTMEMKhmQFCBlGpDwRA9l7F94IxGYt89zNpHlyugyFK511AlBNMnCt1 Zo+yHIk= Received: (qmail 115060 invoked by alias); 13 Dec 2016 12:35:06 -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 115046 invoked by uid 89); 13 Dec 2016 12:35:05 -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=343, 6, 3436, RET, H*r:sk:mail-ve X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Message-ID: <584FEAE9.10207@arm.com> Date: Tue, 13 Dec 2016 12:34:49 +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: Richard Henderson , GNU C Library CC: , Marcus Shawcroft , Florian Weimer Subject: [PATCH v2][AArch64] Add more cfi annotations to tlsdesc entry points References: <584AB057.5050605@arm.com> <39560805-b142-5681-4f39-096bf7045e2a@twiddle.net> In-Reply-To: <39560805-b142-5681-4f39-096bf7045e2a@twiddle.net> X-ClientProxiedBy: AM5PR0501CA0030.eurprd05.prod.outlook.com (10.164.187.40) To AM5PR0802MB2484.eurprd08.prod.outlook.com (10.175.42.151) X-MS-Office365-Filtering-Correlation-Id: 65bda1d9-30f8-43e3-5d28-08d423546faa X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:AM5PR0802MB2484; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2484; 3:UxgmKdbYr+7pGklkvnnuBqa5uCT8VLIrAusR2pMtdklVPPDLmcaH143X/yfO8cZ6YNU7xb6Qwk0Cf8gLqznzpNpKz+CwmdPWkIHlhqqpS1Ck9H9bgmvk0z/7ZnkvcNPjKkQgkV9q6kgxotiA/eJA4/AWFMA/qTrgePy5zxBLjfr56VwcYOyUbfSoUVBOXrIbxexygyNNB9ejMJhonYk2YPJRF/akC3YVqsXOF8H9qtZoTsaJQC1Evykl3DBUfZx91U9zfL807qo672It/wHn2g== X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2484; 25:6OrmVlWICEv7hEa2IHHfimXOYSoQQJfkrSgVqVptWUnLtR2K/vF+eVXXD1/254Wn1/h4hNtZ6a9EpwbTAujqtPaOAzkwFHwOZ2m+z4hhXKAnePuuySvgrBIRuHIMLDcfVI23uJ1HaFMZexxK9c9KKFt5RoZgmS6SvbZWgdnXlt3jL4un0yF5KI4hf2XQZwJq2IX0UvxTkFk41Sl1NrjXObOaVPZ77y4oRoBzmBsiGFGDsDIYTQ0Jcyi1cN1xWpCsPXMfNDSZpL3i5isCKgIruo98kxdc8LHdHRZJTl81QC1bkhF3I5I48FIG6WOvj0Yo6rH872ox6C7Fl12svqfSB82bvZ8utMxuIUa0ZvVdznS/Q+Ul2ftLTyCpKWW1gXzzQgur2C2MHNwQDlDpXIW0hzWadiNO7NHbnKjMtYZ0FUx7rKDAw0aoLmrVNfdA6/Hx/UDk3VSyNhcT2Bn8G+GIM50DrYgu8rXg6K6BMRPOeWZMH/1ucxq1ZLSwb/pjDoFAVMk6cYYiP9cINKaf1v52cRK5S7wHwNYp4LRC9C6LFYgzyowGH9DGOuPUr69xtZKhoMbW3JRYCAlaTJaGKyMGkf2Jro6JgsL0SBFpw1d5lJ5oC1bksei21cOqoWCbEGndI5hI1do5qLq3hOStHTukvJh0chvfAFznvV7YgASml7FtGW8KEXC43WDeZ6jtFixYxhe1qUJR7CaUk/M88NLVEq8FdRjbX1dEoE9tpLoUIWXDgckNhV5nxyMogWRMvVfrkP/HVCulNtHAPMJekd/O3kLCjDZCA7rGSzs8lmpPrp7j5BJKIjXi+vtWF2hQgw3roUjZUu4KaYwP+VlmDoZBoBGo/c7hKc8fJhFnIS8ox5c= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2484; 31:zCilxdw63vNcfEZpaRgcsAPlNrCFwOyvNNOmy0Qe2ikrIKYwEHDAswVW9BglS6KFzGO7khaQDqc1q8IhFvtNf2AGYKHBchsqMb9sF6iCn1i+5p3HXxWBLLohG0JtdfrSt7b6TjcTTBZyN8AFfiRTNPpQETXsKbQpctmULROn28nwS/OUWoRu0T6yjCK5njOxdAEMTfsDNp5l6NwYB9vZMa1hkZPaLZLWOtP71Vr+nc5g1Kf/FxjEBpIJVywUDacMX/4mWl8LVSgTX0toTaA8maVr28zdqi5NiTs4bCkjvmU=; 20:Hp1U+zsAfwI4ePM1CmfvIpV8QyKjBtbT1Hbb2y5E3ftJu213EEPZaUJMD4pMlBm9Py10Pj2rfRJS9/O02REpNuTwqSQzdiL1OgTPq2Djrlq4oXJxAW6ZHbkBliC9Cu7YErzzPivgf3j6s+7GrXh0pZRvIxquS1cu7bDQWvkogGM= 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)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123555025)(20161123562025)(20161123564025)(6072148); SRVR:AM5PR0802MB2484; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0802MB2484; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2484; 4:+bdDSnLUsBqkZz/YHqpJ49lNBtSyxW/24ThF+sLCgzmZ031dPzDp76HbSvmyOmxIJnL1sQR4SvhiSK1CTMbf6Bol+11q6Pmc58JaAhYwQqgCnIaCcZ8T+Z5bZoNIkfkP9hkU/GoToUmIO2mR/xOJeD3FIaquZ6AF0aRIez5mEeCrb/HQC7NFHhSXLrLXhBTQLz5sq0IAJuxjz5rj3oybltkGfoEfdh0vSR1iQQqKqwV+SquQKTV3nRTJuXBfG2hhTafDnUs5EJpcREtfcWoNza9f0MpqcNkpLv3pz+CFCT21mmGiTo3Zp8RXIERgXcz8o3TuPiVafPgxtY3HGekN8CqznBQTYtpdPNWyPu/PxOoLtOgGgHe2Ak6AQY/shoLRTjZnYnJdWM+g60gRLubmLpmB5WBCsJn2u2bTLg890wXwAXPj1lUydozRWq1uzq8MKMgv6YLw5sSDS7LBY72N3WUHzBtfJgKFPs6EfWiy0azfVWE3cd8WIm0v5abU2ndpJIjmc+JASc9C/Eb57BxTw7eqcGyMCk6FYqYszFeDRrXU5iGf8rLQX5aA0dL08Iymenqi9yS6zQTI109pcfCQtm3/YKs21copC2oGzxYgIJb7Brh6SA1PjlVXfWQcfZgW5HE/WG+67zrZ4vToV5M5vp/aI7JJqhKASDTiWCDAILQ= X-Forefront-PRVS: 01559F388D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6049001)(7916002)(39850400002)(39860400002)(39450400003)(39410400002)(39840400002)(189002)(199003)(377424004)(2906002)(2476003)(6486002)(5000100001)(6116002)(5660300001)(2950100002)(512874002)(64126003)(21490400002)(8676002)(105586002)(38730400001)(83506001)(3846002)(6666003)(86362001)(92566002)(5890100001)(77096006)(84326002)(4610100001)(189998001)(76176999)(50986999)(4001350100001)(81156014)(568964002)(54356999)(4001150100001)(36756003)(97736004)(65956001)(4326007)(106356001)(66066001)(90366009)(81166006)(305945005)(7736002)(68736007)(5001770100001)(270700001)(33656002)(65816999)(42186005)(65806001)(101416001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0802MB2484; 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; AM5PR0802MB2484; 23:1uvzbBpKicfK9D80qUGugrS6X5UhTbFLISmJx/y?= =?us-ascii?Q?caVIii+aGlyg906hGmTRt2kfShHmWyFCMnUb8qzGCbYx3YwV4Dq7826om99P?= =?us-ascii?Q?nIT2iua+TzpZjDD3OtJZZFJsaA55tYKEmEAcy8pX77fSCHfAid2M4mPDRVq3?= =?us-ascii?Q?WzYnrELdiOTtzj1JXccr9BL5y3Zjg9v0EjcDTSIaNTa1pJmwQJyt4I5zvmuu?= =?us-ascii?Q?mla62asnqHuJdxBTNunNvjpG0YwG2VBbUGe+ovsuKK+kDe61g4tjf4ElGrvu?= =?us-ascii?Q?+HbNbuqyCR5kzAbe+Yb4GWwDInR7ysWD0lYew+DwE5vQdMl8uXg8L58wvvw9?= =?us-ascii?Q?4IUQOes+flStM2TEjgwqPCSicQGiLPJROeJVcwN4FUejQU5yTa7AKTW9UAFD?= =?us-ascii?Q?jQYECHqXtDlLw31kOSlyURDJsvDvuoukzsWvXEB3+AYywfx0sVOWpYSfLLOq?= =?us-ascii?Q?iqqmeILIHphqEOiZCmuYA0++zebAWQOr19/+IAhM+i1kgXS7fiXk/cwVqWaU?= =?us-ascii?Q?08BCFOWi7Gp2+5/0wB9ZRcELzZauT+nmADXiHJ/RQ8IvvhYnVrUrzzFI3Y4E?= =?us-ascii?Q?Or2IBciQL+sO0RXSJ9mhpdFgwd3eJ2CjuS0gapoi42rY3Troyc5igv3EKgT9?= =?us-ascii?Q?nKfPMknYnPyBmBE5dNRBkLG6kNibiSFktx7AgFTLDINa/Ic0iRAKgVedqNIo?= =?us-ascii?Q?P7IooTm+RkGXFUx4xTWP1yTwFvO4RYYcJAbIgYzIxwYk1t4REUYzIKmclXw5?= =?us-ascii?Q?9HMCFhpv2+gvXE6Oi42QZJr/ltI13VfYjZGIuUWGRtvna8OqyRuDnLqM92pN?= =?us-ascii?Q?F2rUHp/9wd9T/ZpcCIwHR61br5GZsSNOsgtIYeFEgiCdcrVugrN24Mc/6M9z?= =?us-ascii?Q?2OUyvjS5zoT1xeSPU/2DqCmcp7Z8hviatlPcr2k6RLCUS6yevBIQnEkZh+DK?= =?us-ascii?Q?1T4GxOPQpVomkShPWhAWKvB7xNHDdmvPlz7zzDKHo0inBcllkyzeKPpy2vz5?= =?us-ascii?Q?4M4xZnwXHxAyoneTcb5XsD7nVyikO1RkMOPjeZYM/I/y2o+YMc99cmFGFNLC?= =?us-ascii?Q?mahAzh10P1y3sdelCHT7Tx4khdl5CGuHaQcUVu34rn6qPNU841E75KI88Nb4?= =?us-ascii?Q?3WGbn8eGpnJiol0HudffFhQEVjmWi+Q2nyx4isxvXjItYMyzJrZDHPMYiBVo?= =?us-ascii?Q?2a9U8Gvb7df3f3vLZ73PS2LttzwVVCXQXmcjX+Bmtue7fw9C+bDW2mr/+RWk?= =?us-ascii?Q?Nc7jPv5/lBKrJqGthZ+iX8A0YJ5b7GyuKu7ck74ndiBdLgxywDH5q1t2AzeA?= =?us-ascii?Q?4FijTQh8jb/HsUtwrMIVeGBbqAdb5fJfDD7FSbORELn+9TUqxggiddde2a3v?= =?us-ascii?Q?rKxpMIG6KNKwDezR0fmam70UCrjpSyO5vSgj3DwtaSgWYv78dWszOEckl8ND?= =?us-ascii?Q?vCWDLcHa3rUWtUzSArVdoZRCX4Z5XHdpSMRrIaa5Z+DmfTHRChz9bSKOAiWB?= =?us-ascii?Q?AzTugRbg8wF+niJlpUCwNbYqdK0yJ2jgcRdE=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2484; 6:+Nb+8zsOfH0gqsYSEDQElBy6jaQOB1fRJu2Pv2GETUijT0raA0kRNW6S0lEpPT8s+MAEwJI44TkwXs3GT8mMfjE5dtPfU4UwJUvRgVzHnSY8z/Xnrp6lbRxM4SNY9lLm/FhGujvb8nLQcjtnQ0VgcPuiw3iLIEebPnulqR5BtO7thncJa3j5jEq4IdJZJfzOUyN4fv0/zuYwvEiDJASxmBeS/usNPD/k+wTgcAWQ2Zk5yheRL9wPV101rGPwN5mZs3NyvPiqss5fbsnLJRt9roab54jO0m0O4KfrdNZ7AxP6zpZz1cahjxQEdqQ8EFVckfk47j/SmNlgUVOi1ux9tWl1X8CabSmrJcA9vKl2GJk2hqOWOUq6gFL5Iy8ZDT9D7dxXG/2ZZ4AATTTL7d9uFc+tcF4yXduKcuNqzWcZeWDD/bI8vJsxBNPLg2DvC6ujxkf5WXUFRuH1NxFaAdmwUA==; 5:NuhMl+mkHWJk0z9IRx4vyxOemH/biB7m96vhxrO4PM+F/vABH8x+9RmCBxCU3qZ+iLlURiHTMDOhaLN8IMPBufVt5QnXSNEgOmDwgs046Ik7J1pknxpbFFWc1v9bOBq+h5vEmbs6J2yZhlg7FTXY0A==; 24:/eaBpxSDbE1gMpQRK4I2eAu6VNzkrQO/+aDywseZC+ZqLMHO3kx3mU0YE254LPc9FupHE876IY97+Ndq+yk0zcwxKrGtmgGA+dNg08gCp+w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2484; 7:zbOEH2BRsk0iAuqEcc3pJnpV7LUmD+9FFzY4TY+qhaB5P40TYqELDxZ+07JbWWMQ/PMNlSP5If3XEeY3xzdwH+/6jcSKHTsHtGWEMBQr6K8154rTPJ8aHG8O96ClLBV62XeojmwiNPu2mUWXUmvR/6sTLFNfsnykexZgbNMuSn0FXI46LK4jDUcHeYeeNZMPqnKDum3B2HhYlM+AMQVGRfCjQa66EsH5piGbK/tBlxEipLo+bjB3uQXPfXf3cGw0GxifKD7ymScDEA0ZeLv00JiAbitVhAeqqz0Wv/2z1xMSc4pO+Bfj1MtM6K0+RmUF6JZcHymc+vm45NWu+TAvecvItkCIxBCa89zm50Mjs6XteeK9LYIQEM/kJKbOIj0GxOr4WHXKKEpKnp6RID0Ec6ftfI2dZT9uHeEiGq74sK769UQRfDk2z8YbrFZNe/td8d/lph63vP7FQJjVHLY6VQ== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2016 12:34:52.2302 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2484 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. v2: - group cfi_rel_offset annotations for smaller debug info. 2016-12-13 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..4cad6fb 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) @@ -184,6 +186,10 @@ _dl_tlsdesc_dynamic: stp x1, x2, [sp, #32+16*0] stp x3, x4, [sp, #32+16*1] + cfi_rel_offset (x1, 32) + cfi_rel_offset (x2, 32+8) + 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: @@ -230,6 +238,20 @@ _dl_tlsdesc_dynamic: stp x13, x14, [sp, #16*4] stp x15, x16, [sp, #16*5] stp x17, x18, [sp, #16*6] + cfi_rel_offset (x5, 0) + cfi_rel_offset (x6, 8) + cfi_rel_offset (x7, 16) + cfi_rel_offset (x8, 16+8) + cfi_rel_offset (x9, 16*2) + cfi_rel_offset (x10, 16*2+8) + cfi_rel_offset (x11, 16*3) + cfi_rel_offset (x12, 16*3+8) + cfi_rel_offset (x13, 16*4) + cfi_rel_offset (x14, 16*4+8) + cfi_rel_offset (x15, 16*5) + cfi_rel_offset (x16, 16*5+8) + cfi_rel_offset (x17, 16*6) + cfi_rel_offset (x18, 16*6+8) SAVE_Q_REGISTERS @@ -268,8 +290,14 @@ _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] stp x5, x6, [sp, #32+16*1] @@ -280,6 +308,23 @@ _dl_tlsdesc_resolve_rela: stp x15, x16, [sp, #32+16*6] stp x17, x18, [sp, #32+16*7] str x0, [sp, #32+16*8] + cfi_rel_offset (x1, 32) + cfi_rel_offset (x4, 32+8) + cfi_rel_offset (x5, 32+16) + cfi_rel_offset (x6, 32+16+8) + cfi_rel_offset (x7, 32+16*2) + cfi_rel_offset (x8, 32+16*2+8) + cfi_rel_offset (x9, 32+16*3) + cfi_rel_offset (x10, 32+16*3+8) + cfi_rel_offset (x11, 32+16*4) + cfi_rel_offset (x12, 32+16*4+8) + cfi_rel_offset (x13, 32+16*5) + cfi_rel_offset (x14, 32+16*5+8) + cfi_rel_offset (x15, 32+16*6) + cfi_rel_offset (x16, 32+16*6+8) + cfi_rel_offset (x17, 32+16*7) + cfi_rel_offset (x18, 32+16*7+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,6 +379,8 @@ _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] stp x3, x4, [sp, #32+16*1] @@ -343,6 +392,25 @@ _dl_tlsdesc_resolve_hold: stp x15, x16, [sp, #32+16*7] stp x17, x18, [sp, #32+16*8] str x0, [sp, #32+16*9] + cfi_rel_offset (x1, 32) + cfi_rel_offset (x2, 32+8) + cfi_rel_offset (x3, 32+16) + cfi_rel_offset (x4, 32+16+8) + cfi_rel_offset (x5, 32+16*2) + cfi_rel_offset (x6, 32+16*2+8) + cfi_rel_offset (x7, 32+16*3) + cfi_rel_offset (x8, 32+16*3+8) + cfi_rel_offset (x9, 32+16*4) + cfi_rel_offset (x10, 32+16*4+8) + cfi_rel_offset (x11, 32+16*5) + cfi_rel_offset (x12, 32+16*5+8) + cfi_rel_offset (x13, 32+16*6) + cfi_rel_offset (x14, 32+16*6+8) + cfi_rel_offset (x15, 32+16*7) + cfi_rel_offset (x16, 32+16*7+8) + cfi_rel_offset (x17, 32+16*8) + cfi_rel_offset (x18, 32+16*8+8) + 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