From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12olkn2087.outbound.protection.outlook.com [40.92.22.87]) by sourceware.org (Postfix) with ESMTPS id 421C83858D28 for ; Sat, 27 Jan 2024 01:04:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 421C83858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=maskray.me Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=maskray.me ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 421C83858D28 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.92.22.87 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1706317472; cv=pass; b=LPTe9v2gVVKxBYQPaeqUE57d3xheTHGMHTwoj4wdPyZc4nIEWrIBKpQloyu1cHtIRiDihhrsw8IrY22qyw7sMYn7GRTxT8K+pNjaEr0D69AyYA16pM9C0LSnPXhlZTIR0ZB2vJNDGMC3ToBDdskPxngmiz/OgkTRFyQlFh8U0Mc= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1706317472; c=relaxed/simple; bh=bIq3OulC+HcCep8nHtDwUpcMcbL6zaACH24RkTtYI/8=; h=From:Date:Message-ID:Subject:To:MIME-Version; b=B5qzRHf19MafdsKMvWDMJmVMs+68zb2UOmy0aR+zNwINzLWiT5BX0xbx5oZYZXilF8eFEyyl0iyE89JWIG6VCvuCJx/JWxEfCwEGsAi93kezsgJjPuIsE24KuRoVkRLDjpIFq3ABMibUSR1MDMh05fTlMqMXnduDx+gQGni8R/Q= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z5tLQHZ67+eAMOIoDy9MVLvLqfLmfiVrMaXlssL9EEnnb+nFAuXaGiC+Q/HaJNPk4erC9cw9jgl72Bc2IhEjHkGlv4/vDFwCcXozEeb/yspq3k0sCBPcEVVnCW+z5IrTAemoe4NLAj391R1fEWzOLoham7ar1Z2ymH3j/QQMVf4J4b4GWbss4Fb7/QZdi5p9aLLcUy2s8FQZ37o62t/RrtjMlfQs6lZlbjEfYH1MIpB19jOMPh3rej2WTWOwrNukW1raIiDtXUUyiuuDy++O1B9LuJFI/i4nJJxpmafzyKpWOEi687yAs0jXY4y9v26PB5h2Xf+kXEi5TmTtijKtGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=66GBAxt4MLGS18sp90P2iL5aoa+8itCpxI4NVNwIIxc=; b=LFgjRCCRX07cMBIKl0VBxDNzGMUy3HYeY1+h27KyLrucQ90iwnkmQlnldRlTe2oqxY2UO45Wm0SMfzEfEePyFh/daLL5b4Qab+Mv0ddcDraAT5AJfIvK9nPXjamnNDdC1SVo8FQZmh5z8yTWK7jh55QjDaKnhgTK7uR7kZu34uDcgDPmk82PWUkwLr8kImQAGoTnZHADmXO9nJ3oxscTMCvFobJN8OPvYzbK6r/GTdm/iK9uAKpwMTh1yJbT8ACntPb8a5WuFUWZk39tOT9xohLAkMQk89n70vUh+eisHUnFp7paiZBgBxGuPgvVGIgosV2DwOaQHlyVLgWwJh3dQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from DS7PR12MB5765.namprd12.prod.outlook.com (2603:10b6:8:74::19) by IA1PR12MB6116.namprd12.prod.outlook.com (2603:10b6:208:3e8::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.27; Sat, 27 Jan 2024 01:04:27 +0000 Received: from DS7PR12MB5765.namprd12.prod.outlook.com ([fe80::fa25:6d58:7ae9:9c0b]) by DS7PR12MB5765.namprd12.prod.outlook.com ([fe80::fa25:6d58:7ae9:9c0b%5]) with mapi id 15.20.7228.022; Sat, 27 Jan 2024 01:04:27 +0000 X-Gm-Message-State: AOJu0Yw6VTntJCoXn7ESULoCvC9mX4StYkiZhFMhLebhOob4J1Fwe8p9 JJ7goWoCQa26yN/VO8eQ/tYYK+N5jxRRkDl8c4Ba0FSlMMKi69knAF9LtDMo/eXBHlXi/JWr0y8 vH/w6n3pFpRpy+QAwYY3Lv/9HJG4= X-Google-Smtp-Source: AGHT+IEpG8EAWs4z3FSseHQdlXA9ivtt7uYUH/22ImvKCtDbhWFPBgsZP2tSj+cL3evpncAul7X/6+jjCkyDmxyyEyQ= X-Received: by 2002:ae9:f715:0:b0:783:da2a:3e66 with SMTP id s21-20020ae9f715000000b00783da2a3e66mr709948qkg.47.1706317042258; Fri, 26 Jan 2024 16:57:22 -0800 (PST) References: In-Reply-To: From: Fangrui Song Date: Fri, 26 Jan 2024 16:57:11 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 0/9] RISC-V: Implement TLS Descriptors. To: Tatsuyuki Ishi Cc: Palmer Dabbelt , nelson@rivosinc.com, binutils@sourceware.org, Rui Ueyama , ruiu@bluewhale.systems, "lazyparser@gmail.com" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-TMN: [SmPlma4uBEa1VMQgIKHdZLgoruVGfT4T] X-ClientProxiedBy: BN9PR03CA0424.namprd03.prod.outlook.com (2603:10b6:408:113::9) To DS7PR12MB5765.namprd12.prod.outlook.com (2603:10b6:8:74::19) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB5765:EE_|IA1PR12MB6116:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d0b74aa-98bb-4e8a-2eb2-08dc1ed3e908 X-MS-Exchange-SLBlob-MailProps: =?utf-8?B?OHBrUmNpdkszRFQzekdBZGRZNERkbjhueDl4V0FURGlWUDN6RE5IQTUySndr?= =?utf-8?B?TEJUNXJTdmJQOEJOK0RPRndWamdxOVFiVGkzTzJSdVRMUWlIUVVSN1kwRW1E?= =?utf-8?B?RzI1QTNrc0M2NDRORmhUcHQzRlJoZ0U3ZkE3dU0vNkMvb3ZaMHlNZTd4em8v?= =?utf-8?B?a2dYQkVEZDdqVFRzKzg3NEg4NEs5TC9Oam02RDBnK3BQZjAxTXhwS3RXUjBs?= =?utf-8?B?VnhlRm4vMXYzYnlhQ1FWejZtUi9iamoxcElyYXF1Vk9CVWlCR3FSaWtrUFZY?= =?utf-8?B?V3hLMnlBSUJGMlEydEM5aENzNzQrc1VORXNOcGVZOWQ2a3ltZXJDVnUzV1p4?= =?utf-8?B?V3lNZnBKem95YTVhbVFBdHJ2RkRVK0FtK2NYWUp3Szc1Q1lmQkd1VU5SVWc1?= =?utf-8?B?QWpCRXR6UnRpeWQ0ZGpyWjBOZFl6SzBjWW52OG9RUVdNeGt6czYxT3JmTGRL?= =?utf-8?B?UVBQMzBEMEdXM2FKTHpDdFNUMGJ0OWhiYVk5WFR2UmlOcEw0dHBBUWU1RGNj?= =?utf-8?B?U0xtMzNFYWVTWEo0TGMyRzUrSHRKVkZER0Q3M01vTEJFcWlPRDFNSFdFc3M1?= =?utf-8?B?S1VHYkdRL3ZyajdoYmdpakRObG9pS0RxcmdjREVyRW5OWnR1RnBOS1UzWGps?= =?utf-8?B?UklDaE5yVUtxc3o4YnVPRlNYVmgySHo3TjFLVUtmVzJiRkd2bW40a0hBVW5t?= =?utf-8?B?ZnZQY0R4S1NGeEorcS9DQ0tTNFJNaHZSbjFnRE90bnZzb25CWThvMjl5RlJR?= =?utf-8?B?azYySjBaN05HUzJZUHBiUnNNQnRoTWkrRW9palJDOGp0c3NNNUQxUTdmMktO?= =?utf-8?B?dkZXVlZ4dEFJaUFKK0ZtQkxOK2pQV0d0d1NBMDhqRVBrKzdneXpCa3pPK1dH?= =?utf-8?B?d2pXbHFmY1puY0NOQUEzUHdvWENqM2UxRS94WEZIcEZVTEtqakdsdC9xejlo?= =?utf-8?B?MCtBUjUvb2VaTWFyTThVWFdsVFFpTkxxM0RZdHd3bUJ2MmVURVJzaG9BOXpq?= =?utf-8?B?Yjl6V3BkV3dLb2s4eC9aRTJxOVZBQjBmT0hJNmJPbVhEMmEwVVJqZXpYQmlx?= =?utf-8?B?OGlCUmxaalNSYlF6cDQ0TnYrLzIxdHpwVXo3QjBTK3dMWW9WZi84RjBrMHNC?= =?utf-8?B?aklVWU5WSmtHd29TZHNBRnNvQWU3NlJva0NrdUVtTEY4c2pYN2pOWWNINmVL?= =?utf-8?B?NXNES0J6bW5nSFlCVGkwT2RIdHNhb0Z3Vi9Nb3JLQVRqRXdWSkhEc3BHeFcr?= =?utf-8?B?TXg1SHczQ05mT1ZJaFYrdGo5WmRNNmU0dmVQZlpqbW1QdVVFaUlOcTBEdm40?= =?utf-8?B?MUt4T3F3SGJkMWlaMkFjSThwN3dUQlRSOWUyaGFIUnZEbGQ4aW1nMS92R1Zi?= =?utf-8?B?SWkrenpLU2d4dWlWUk5kMzQ4WTlPRG1sK1k3Ykd6RUdvbnlRdERCblVtdz09?= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1vKSZ31/oGun2jQE/4RUY3KfIo+nrH+vM0idKv1/qEC8GqLKkgfTJYWnjkpJ+H6d5B4WhsvkHEEek20LDAESiQLpsRO+Olum+VyldYLaRhT4Wv3Fy5gwzp5nXD0EwPa6mkRroF3sXRxpIfdAvuuCFEu/8A7wrF+6+xuDJy7QMNUVfrB/ZQSh/H8JYt8X/L2WMEOAk5BK23VPGnOFvCvbtoGB0XDsh/gH1o+nYeGwqLrx1zhZZN165OZsvhdde0K4oTIJ8DFsCVCQgm5MIW4WZPJ2SB2nyavOSs5StYJAugnmlN2MuvCpfmOA5n1PUVpeFIOh3GNoW1KM7BEDlDkNG0x45VKRHp4/uSMh2N5iCEhPp8htffewOVTV3oLPSotYtm7KZXRwA0U0b8qNfIURPk+QSmkF/8vjlgn6rvnc3IrpToKVXirP9XWh6CITlVlGMLsojp/FO6ndAsexnS2rYJR5girYIa8ShqPLfktT81qkVVL3NnJFkZuAzRQJU+buCFmNXjG15oNS04YizVC9354H64+63Jf17tYoRxyfYGPj4hgL5129N4/3CnIhkA5/pUhbLHvRzPS8GUOtMkitukWSL3cK6uPRWjs5ykGbDFE= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ck9QbWh3dVArNnp3cHNpcjJOSzUvdGZrVHFER1RYREFzK2x3M0VHdjJpQmhX?= =?utf-8?B?a2dLR09jbEFSODJ1ekVYRFF4TURJcE5kZkJwb0FkdlBReFpkdStEZjdtODVo?= =?utf-8?B?VlhRZmVEKy9EY1hia0Jlb0tPUkJmSWRsdUxkYkQzZDN0UFovSVp5dDQ3S3p2?= =?utf-8?B?Vzd5ZUNzMkxjdHJEZkExV0JpYjQ3ZTVoOWRNRHc4V0VESUxTeG0yWGRxWXc5?= =?utf-8?B?MGk0MlJkQk4rQVZVek9ZcmNpUGFOc0lld0hnQnhNZklOVFRIeVdTUnhCWEFJ?= =?utf-8?B?UXBkTjIwZlF0bGdnbWppU2xjbEQ5OE9CYUhwZGpPWG9xUzVOdEI0YUtoZThl?= =?utf-8?B?UGRsclE3ZzNlb0p4VDBtM1ErdHR3MTJ3elRYQ2JuR1MrTUdRbmJIRXhZSzhu?= =?utf-8?B?L2pBaHUycGhTQk5qaGpIN3pkY3lJRmdnMUQyMG9JYWF5OVNXcWZ5akpPMHI5?= =?utf-8?B?QUhna0VXUC95bTNXd05mSnlieURPQlk1Q1B6ZnhXL2VFT1dLVDJqSWhReFBx?= =?utf-8?B?V2xvWmY1VnVaRGJaWHVOWWZyMHJjWTZjMTRwczdkcjF5amJUd2NCbGlXTXhC?= =?utf-8?B?WnZDdEs0MWRvRXlRUmlTcXUxaDRrZWkyNm9TaktmUUV6Y2w4NGJtWllFODli?= =?utf-8?B?SG14VWlSQjNxT29ZOHVZS25MZDZIZjV5Z1JLQ3VONWJqaEpTcWNtcHRMRFFY?= =?utf-8?B?L3lna3hkV09TTjRBd3NlaVhZcDhGUkxLa0FIUHprc25xcXVET3lVdyttT3Vm?= =?utf-8?B?YjNqTjlHWnVIYUptNW5OSWYwaWR5U2RqTXNjOFJna1loT2tkaFJuRnhXNjc2?= =?utf-8?B?ZDFUSDgxekUzRGh5anE4a0QvYXFiZ0RhZGJTbWt6c0prZlV3a09pSGJSVnVk?= =?utf-8?B?QXZCSnlSNVNhQmxsMFVXR005dHRuZkd3Y00vRDdtTDI3cFlpenUwYzN3Z1Yv?= =?utf-8?B?ajF0ckpKZUlJYUFwQi9MQldOUHpkZ01UbFlIK0FYRDVPYzd4RXN4bzBveWUx?= =?utf-8?B?WitsVStlQmFmeGdkelpQbU1Idm5YRHoraDY5ZlFwSGdGREJ3ck5MOUVGSHRD?= =?utf-8?B?aSt0V3o4NklUeDZsb0J1ZkwyUmYxNWlKQ3NxMUo2bmF1L1hsSVRQQU1KNXFV?= =?utf-8?B?eTF3aEtyZS9nVHc2ZTN3NCttaEhzOGJTalRjcEZKWWdzcEErOStLQUsxYnE4?= =?utf-8?B?L0RtRnlUTWFzZk5BNzdiZ0p3UmtIaHVYTnlqUTQ3ZDIrczRiUW02ZDlqT2lM?= =?utf-8?B?cFdHMjFZckE0bkhzZjdwcXVBSmczcXh5b01palN6SXZwWXBISGdzMURHQi9L?= =?utf-8?B?SG54MnJpRXF5UjhsaWdRemJyUjJER1cyL1RCSW56UUxVemFpenhTZFJFamEz?= =?utf-8?B?cjQ2eHpTd0lvNG5HajZ3eTc3cUk2bnU3bk5Nd2QzWHNrL1A0RXkrUEx2bmVF?= =?utf-8?B?T2puQ3VKTEQ1djVyb3MycVFJWWJodDVCTW5BQmp6NnFNZndCdkxJNGdNN24y?= =?utf-8?B?cGNYQUc4T3k1VUFGMVcwR05rS1kzTkxLd3NIT2ZwUzk4RkFzOWFVclMwTGtX?= =?utf-8?Q?3iQPsRKjbmlnicBMSqh9OK/jJLZekd9tEWPs7XfrDuZdRv?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-71ea3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 5d0b74aa-98bb-4e8a-2eb2-08dc1ed3e908 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5765.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2024 01:04:27.8659 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6116 X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_INFOUSMEBIZ,LIKELY_SPAM_BODY,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Tue, Dec 12, 2023 at 5:53=E2=80=AFPM Tatsuyuki Ishi wrote: > > On Dec 13, 2023, at 9:27, Palmer Dabbelt wrote: > > On Wed, 06 Dec 2023 19:35:00 PST (-0800), i@maskray.me wrote: > > On Tue, Dec 5, 2023 at 4:33=E2=80=AFPM Nelson Chu w= rote: > > > Sorry that I don't familiar with the TLS stuff and TLS descriptor, so I w= ill need more time to figure these out if other maintainers are all busy. = Since there are other patches which are also being reviewed, if someone thi= nks this is an urgent matter, please feel free to let us know, so we can sw= itch to see these first. > > > I know that Android wants TLSDESC and having TLSDESC in gcc/binutils > helps check LLVM feature parity... > If we have TLSDESC earlier, an OS with a new RISC-V port can make > TLSDESC part of the baseline ABI... > > On Wed, Dec 6, 2023 at 12:44=E2=80=AFAM Tatsuyuki Ishi wrote: > > > > On Nov 28, 2023, at 17:51, Tatsuyuki Ishi wro= te: > > > > This patchset implements TLS Descriptors (TLSDESC) for RISC-V targets, = per > > the specification (merged) at [1]. > > > > Tested on rv64gc for: > > - No regression (& passing new tests) in binutils > > - No regression in gcc > > - No regression in glibc for subdirs=3Delf > > With both -mtls-dialect=3Ddesc and trad. > > > > This contribution is made on behalf of Blue Whale Systems, which has > > copyright assignment on file with the FSF. > > > > [1]: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/373 > > > > v2: Add changelogs and tests. Minor fixes described in patch messages. > > v3: Add relaxation support. This fixes tst-tls1-static in glibc. > > Would anyone like to review this? This is a prerequisite for the GCC-sid= e > implementation to be useful (especially the gas part). > > > > For these huge features, gcc/binutils/glibc should be reviewed at the sam= e time, since all the stuff should be bound and tested together, so "prereq= uisite" shouldn't apply here ;) > > > Ya, I agree. It's super hard to review stuff like this without seeing al= l the code, doubly so now that the psABI has turned into a wasteland for di= scussions. > > > Thanks > Nelson > > > Agreed. I wonder whether Wei can find someone to test > gcc/binutils/glibc patches... and some packages using TLS (e.g. > https://codesearch.debian.net/search?q=3D__thread&literal=3D1). > > > Do you guys have a pointer to the glibc code? I can't find it, but I'm h= appy to poke it (or maybe find someone else who to poke it...). > > > Hi, > The glibc and gcc patches are available at [1] and [2] respectively. > For glibc, I still need to implement save/restore stubs for vector ABI, b= ut apart from that it should be functional. > > [1]: https://inbox.sourceware.org/libc-alpha/20230914084033.222120-1-ishi= tatsuyuki@gmail.com/ > [2]: https://inbox.sourceware.org/gcc-patches/20231205070152.38360-1-ishi= tatsuyuki@gmail.com/ > > Tatsuyuki. > > > > > I can split up the series into bug fix / refactors and actual changes if > desired. On the LLVM side, the RISC-V TLSDESC work (LLVM, Clang, lld) has been completed today. (I will frequently update https://maskray.me/blog/2024-01-23-riscv-tlsdesc-works to track the status.) I filed cherry-pick requests into the upcoming 18.1 release. We postponed the LLVM change to add R_RISCV_RELAX when relaxation is in effect. That one will not go to the 18.x releases for safety. If the gas patch is to add one R_RISCV_RELAX to each of the 4 instructions. Perhaps it can be adjusted to add just one per https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/421 ? I haven't checked, but for the ld patch, you probably want to consider TLSDESC to LE/IE optimization regardless of R_RISCV_RELAX. TLSDESC to LE optimization is essential if a libc doesn't implement R_RISCV_TLSDESC in its resolocation resolver for a statically linkeded executable. It seems that musl will merge the RISC-V TLSDESC patch soon (https://www.openwall.com/lists/musl/2024/01/27/1 , CCed Tatsuyuki there). So even if glibc will take some time to be ready, we will still have a testable libc :)