From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04olkn2075.outbound.protection.outlook.com [40.92.47.75]) by sourceware.org (Postfix) with ESMTPS id CBE113858D28 for ; Sat, 27 Jan 2024 02:54:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CBE113858D28 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 CBE113858D28 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.92.47.75 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1706324096; cv=pass; b=DAoepg5LGYMLTrFOaISb4zE/O3YU3hBl11VHSpiqyaDhANDLvaf5oli16UqLBKwQtl7YDuZ8skwA4MdfomXw4zPoSTeQrz9Zlty91hGeSsBdJ6tN5tjh7czU0ID/OvAit/Z354XzAqW39T6V/sPuxNbyKwjoFmSqfMdMrEormfU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1706324096; c=relaxed/simple; bh=vAWLhJxFwKSYCM01CuDNY6UwKVeoy/ceFciM2Ii3yrU=; h=From:Date:Message-ID:Subject:To:MIME-Version; b=GuNeTGZVx8suea21CAHx0fnlCkN90c1Xey7H6sOpgr0gDczTvg8GT01MgINNjkUD3FbxdoyfF76YVxbJrDOWP74MvLUCqZFQ1jwHkxytGt/ImumUF0XwABjKyRxv2RSdf4+ggkqiHSYg5kCF1OIn+qbRSalqHeNy1EFXhDJvNAY= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kX3LZQBZuf0Kp/dwmO0Yljo4xX/txLc7Gej4Yr6wpdyn/ODXkqHsM0esuA28rVbo50P0a4bGEoKOPBkqEEYoB8pdA5ingxc6pUK23y8RXBP878QwbhvM1L/8wzhK9AapP7W95e23l9H2Moye+XGKTCo4gCULNr9bHJGjVmm398o+8hueaCCcf97FSv5KIeOqt0mO9tsxmW2sV698NyzQ9ePM9ijgD/dfbfcCQHpTa2JicRuA4vJAoU3qymZQKeWo7lLXW8sNasCL+83lKGpdJnSaXfbgNR3sEAgvyonhegJMf2ER7L5XnHUZ2o6ixI/By1UAmLmwdKT93OvAv+TIPg== 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=0gRz4rqL8Z6/kr5CQ2I109iF8TxMPLXDyTJdsl9E25s=; b=HdzyPMmelYkwQdl2HqxvTAC8QuUuCdC3mtzO3mUDegTlgu2H1aTrxqXepWctUstc/FYj+17mMNq0Qj0UY1WqqV2y0psio6rDwntkeuof39lkSpbl+daJQ+Fjs1mQmSX8mq/0GxpRMS3c5+s9C5egDd7LEfryENZUgXhFywHGCeqgEyJ4mqJAuoX9zTWa5TG9m9QwlhpuPj2gibPW5eXKnpIbz25Px1NnpVI/fLgFJyT9nDWsXEC/IqX1iCjeAQNyL4YS5GEt8Amhp7cWFwQ/SqXw1RR1TsOrU9A2UKwonpTiT7uIld/ZOARVWybP+UcGzRx8/kKoeTTUfq/W1N7iWw== 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 SN7PR12MB7324.namprd12.prod.outlook.com (2603:10b6:806:29b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.26; Sat, 27 Jan 2024 02:54:49 +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 02:54:49 +0000 X-Gm-Message-State: AOJu0YwIEIGpoLa47KLLj5XRUKGj811ct38WRLZFNc/MQeJTWXg+YP4g xpgXVtfy4efgIVngOfIbrYqCCGDrTRjz2y+A2B+uECzUCw+VwSYWLjlfj94wiO0vWjmnic1PnVH Rwgi8PaGBLYEuL5ab57cXwG9b7oU= X-Google-Smtp-Source: AGHT+IFXMtYOGn7nMyXEm5KXtoy0fvMZdZkSiaf/uxtPcdNclzbys899D53lRNIUt+ESJ7S7h8i0Z7RCIJhrqppdHgA= X-Received: by 2002:a05:6122:1d11:b0:4b7:1f17:55f0 with SMTP id gc17-20020a0561221d1100b004b71f1755f0mr1503780vkb.17.1706324081358; Fri, 26 Jan 2024 18:54:41 -0800 (PST) References: <20231222114243.1836112-1-cailulu@loongson.cn> In-Reply-To: <20231222114243.1836112-1-cailulu@loongson.cn> From: Fangrui Song Date: Fri, 26 Jan 2024 18:54:30 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v5 0/5] Add support for TLS Descriptors (TLSDESC) To: Lulu Cai Cc: binutils@sourceware.org, xuchenghua@loongson.cn, chenglulu@loongson.cn, liuzhensong@loongson.cn, mengqinggang@loongson.cn, xry111@xry111.site, i.swmail@xen0n.name, maskray@google.com, luweining@loongson.cn, wanglei@loongson.cn, hejinyang@loongson.cn Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-TMN: [DmWgIrhUERhuMbDD3jAE1UBZJFpguHsY] X-ClientProxiedBy: JH0PR01CA0036.apcprd01.prod.exchangelabs.com (2603:1096:990:5c::18) 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_|SN7PR12MB7324:EE_ X-MS-Office365-Filtering-Correlation-Id: eb36c4a9-3631-4fcc-66a5-08dc1ee3533d X-MS-Exchange-SLBlob-MailProps: Z68gl6A5j2/JPE+ICbLav1xG2XCRGITmpdTxcbr5dX5w77zCb1MjFOB8N+gubw+bkU+1Gntj40Fl0323ApmqX4eshitF0b0ATQglBzbXpkiIVn6npAI1XT/9lMRRf+9B/Ffsr124OUo6+ChB/w9qCVIAFBF1lZG2SfzK9y6QKe4avpu7XLSf38jETz8LGDr7vzkbiz4GZiqIEVwguAndCgYcLuPL2pwMlnpcEdBCJETe6lDrho8HD1UMLBeuwUKLsQoDmev38CBpNW7so/TeGFBgrwgYK/I+BWsAStxyALxi81fAp0SmXWtEL90hFnls0UhycfgUHLI6902vMgtQ9CqNKsGAXA5k63OpvTFPJimGMtednzBoprYaK8oS0ZIhuLYYWYfkLe3S4MNnzgvBlleXemhfGhqFnyeDbgl03UBYeDAhotesZubyK+D4Q4q0+hL4DG/jpVt5iAulaqZyFQRp/mZ/DoLM0FF+0nu75B94ECt414WscA6Ec8+CyTNq2K6cVt41/UcLcferZrtTWz0fDWOrMeKUGl9mWTXHN6H7cudmqPwl0/Z//0g2Tlc9mzoRmRXfYsikzbgiV9jZPyx+XL4mcE82j528GLIpMApzQ8B/4RiC/dutji7qDLUywGWqgjKr9qb9DWyCxYlfMruLGutImtlW0JfSlq6bls6EtOPVctwM4QTMfIDpOP1soWRmxt5jJtkukOtmARmLN9/Vf+1DuQ59w1qojTwtH2lI6vLiEoZL0r3KniEErBTupvL14NKsGAq1aWMDmgcxwmzzdX13cOZQwVPUItwUeb7/GTbVsJhWnlmt0rxE0e3k X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ihy4XTkDYGqoBPIf3qDoQ+Q2LOiYoFB52gSks0i6FJgQj8i8UyTQbjGm8TKkKlK943YCHr+4x2VjNh/crcDiRBnpkL0iD8AIm2sjslSASJfzBKB+6cRbIgBlOIlA8RmWXIp2Th09QPkAlu820TFYm1Cpg7K+IITu94kf9qi0Lb0A8k3RPYRWxFnP+LFiNHttxzkb/oHo2DG6quFrV/NZIjIBa12qr7JITEPrvRLkfSdNtc0IWs2nbhwslT6zmtRPi7dmpncFW3QOJxkltrIw9VotesdrTjVcAwB4deInPUdt0DDo78Y7VbFNUjBrAPFfvp0T6fPP/O61mB520rbGYuKUbwwhDtg3MQvMRV2dCAiei7IDY3Bj9iT8Kath2a4Wn45dTo4cVw1P5KFC/TgWAlmo0YomSmLiD70cNJvZSGQTCuhbzok7N7KzwNzz8ltuLFJeuSlAAs18WSMv+GqYEqzNBMEPpjZzhZkRrbf9XR/X73s91Pz9vaQvWlyhz6Hs5QsRNpu8WPErRBTVUV2AnL3R+W40CkPF1lSrylbTz9IJks/O/jm6phkH/15ofneXfgjDdxWVK6m/KPZYu/jxKO1KmLimCw3YWb45LtVMIyQ= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U3lva2FHcXZDNlVEVVh0YVN6WDVsVmFMekhKQ1lGakFMcEVTaElqWTlvR25Y?= =?utf-8?B?ZjZtUklGVkZXa1J1VjY3K0JmRm0zZFN2RTVDbE0vanVKV3BmZExFa1VFNGMv?= =?utf-8?B?T2p4RXpZMVE5SkU2aGMvaWNsZDFUMk5UaE5wV3BReURmNGE5Y0k5RXdaSUd5?= =?utf-8?B?ZFBDcVpPb0RhbXRUSm4wYXUrSlRDNnJQWVB4ZzV0QWh0N1hrT1FWdkNqdzZi?= =?utf-8?B?ejlUZXBtYXBEL3plWGpmOGNjOW94TVA5Y2w4ZVEwdGcrNGE5b29renNudHN5?= =?utf-8?B?QlppV0RERmFMM0YrdlFSaHcxeTFOb1hDdnVvVVRHMVNyU2U5MTY1S2NGMDNY?= =?utf-8?B?RTBUbGZ6VzhyeFErNCtSN1BiUlZMWjc4MzlhYk0wOXJKZTJZVG1aVVdIa2Qy?= =?utf-8?B?MmdlKy9PNUpEVmRwTEgyTnkyeE5MTU5oaTdUeEJGWkE1U0g4VWFEZGQ4U0FU?= =?utf-8?B?OFlwUmxCNUtnc1RJMWI0WnRjV09jbTJ5cXgyZGVlQUJPYjM0UDNub2YxVTV6?= =?utf-8?B?cDl3VyttVlRWTkxya045bUFHdng3U20ySGVZeHlIRXFHTDc4b2dnUjhldlAw?= =?utf-8?B?QW9sM2RkN05LeWU4Qm5PZk92U0dEQ1dXOUJ6RUhVMzQyb08zK285VDg2NkVa?= =?utf-8?B?ZGxYbWxZMU9KeHM1YURSbXlyek8rZTVueWt6U05MLzhITG44dGh2TkxJcUtq?= =?utf-8?B?MFVINU5PMXJ3UVROaWE0a2VXSWxzWFRIMDU4RjdhNkV0RGJEQUxscDAvZUZ2?= =?utf-8?B?YUF6Y1Rrd29UZ2F5bXJxc0hXdmhYUGROUFlVbm91ZjlZYVVmd0czVGMwMFJK?= =?utf-8?B?NmkzTGZHNFdGQmdaLzgzU3VhTVgvWnNnRm80RUFma3U2TFBObUpFOWpqKzhG?= =?utf-8?B?cDJZNSt4cHBjNkZ3OTZWTUNzcFJpZGxzSnZ0Z3ZQMmJJN2UwMHVUR2JDSmRZ?= =?utf-8?B?ZHVpN1pSK2RBdXlzR1pabCt6NFY2SmEyK2lPNld3VTZLS1lXTnNvcm1ENEZI?= =?utf-8?B?bFhBM1NiYW04L1FKVXg0LytxUFNzMm14T0JLbnMyd1lDVDI3UnpscS9xVnU3?= =?utf-8?B?NHo3dHlINlVIckZMekZSQnI5b3U4MGxyeVpGNXNiM0RSRUgrZ2VKbi9XaU9q?= =?utf-8?B?QSsxamUvdG9ETTF5OG1TZ214MUhZUmNjNUxwSWJwU3hkNTRrZk5LN25HTXI0?= =?utf-8?B?emM0cmtxM2FnR3doUFYrWTA3TmEycFJ1Y1RVWjY5dFgzSDBRMDJoVTU1eTFF?= =?utf-8?B?ZXlhd0RnazNzZE04WlNUUnR2ZWJCSGt4bmlxOEpjVWVuc0ltSDZCKy9RdWcv?= =?utf-8?B?SUFWbDBOVTdRRzhPcStuOEhYYmFYRlRSeHhtc0dlQnlTalFrV1JFZWNmQ3Vy?= =?utf-8?B?YmZDaXBXUUsxK2dOYWkyRkxRSTMvNjFnSk14NUswY0JPa0ZYVUJ0WDAyb01H?= =?utf-8?B?VlFsbVNWTjVxQVpqSGZtL2JHSFBNcEhPci9HOHo2d2JKTk1EbmJyYkhkMG5n?= =?utf-8?B?cFJLa3B5akpxd2p3YkpKd2EzN2txMWpHMXZlVmV1RUZjSGo2NDFmWVJnWEd3?= =?utf-8?Q?2N5QK3RmNs2zEwVpwmL+ZNPqI53w7V8etuF5C0jsxW6MfI?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-71ea3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: eb36c4a9-3631-4fcc-66a5-08dc1ee3533d X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5765.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2024 02:54:48.4820 (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: SN7PR12MB7324 X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_INFOUSMEBIZ,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 Fri, Dec 22, 2023 at 3:42=E2=80=AFAM Lulu Cai wrot= e: > > v5 mainly changes the relocation name and adds relocation > for immediate value field of ld.w/d. > > 1. R_LARCH_TLS_DESC_ADD_PC_LO12 -> R_LARCH_TLS_DESC_PC_LO12. > R_LARCH_TLS_DESC_LD(113) -> R_LARCH_TLS_DESC_LD(119) > > 2. Added 32 abs test case. > > 3. Added R_LARCH_TLS_DESC_LD relocation to the immediate field of > the ld.w/d instruction. > > Such as: > pcalau12i $r4,%desc_pc_hi20(var) > addi.d $r4,$r4,%desc_pc_lo12(var) > ld.d $r1,$r4,0 -> ld.d $r1,$r4,%desc_ld(var) > jirl $r1,$r1,%desc_call(var) > addi.d $a0,$a0,$tp > > Lulu Cai (4): > LoongArch: Add new relocs and macro for TLSDESC. > LoongArch: Add support for TLSDESC in ld. > LoongArch: Add tls transition support. > LoongArch: Add testsuit for DESC and tls transition and tls > relaxation. > > mengqinggang (1): > LoongArch: Add support for TLS LD/GD/DESC relaxation > > bfd/bfd-in2.h | 15 + > bfd/elfnn-loongarch.c | 552 +++++++++++++++++- > bfd/elfxx-loongarch.c | 270 ++++++++- > bfd/libbfd.h | 15 + > bfd/reloc.c | 36 ++ > gas/config/tc-loongarch.c | 20 +- > gas/testsuite/gas/loongarch/macro_op.d | 128 ++-- > gas/testsuite/gas/loongarch/macro_op_32.d | 120 ++-- > .../gas/loongarch/macro_op_large_abs.d | 160 ++--- > .../gas/loongarch/macro_op_large_pc.d | 160 ++--- > gas/testsuite/gas/loongarch/tlsdesc_32.d | 28 + > gas/testsuite/gas/loongarch/tlsdesc_32.s | 12 + > gas/testsuite/gas/loongarch/tlsdesc_32_abs.d | 26 + > gas/testsuite/gas/loongarch/tlsdesc_32_abs.s | 8 + > gas/testsuite/gas/loongarch/tlsdesc_64.d | 28 + > gas/testsuite/gas/loongarch/tlsdesc_64.s | 12 + > .../gas/loongarch/tlsdesc_large_abs.d | 34 ++ > .../gas/loongarch/tlsdesc_large_abs.s | 12 + > .../gas/loongarch/tlsdesc_large_pc.d | 38 ++ > .../gas/loongarch/tlsdesc_large_pc.s | 17 + > include/elf/loongarch.h | 26 +- > include/opcode/loongarch.h | 6 + > ld/testsuite/ld-loongarch-elf/desc-ie.d | 16 + > ld/testsuite/ld-loongarch-elf/desc-ie.s | 18 + > ld/testsuite/ld-loongarch-elf/desc-le.d | 15 + > ld/testsuite/ld-loongarch-elf/desc-le.s | 14 + > ld/testsuite/ld-loongarch-elf/desc-norelax.d | 16 + > ld/testsuite/ld-loongarch-elf/desc-norelax.s | 5 + > ld/testsuite/ld-loongarch-elf/desc-relax.d | 15 + > ld/testsuite/ld-loongarch-elf/desc-relax.s | 5 + > ld/testsuite/ld-loongarch-elf/ie-le.d | 13 + > ld/testsuite/ld-loongarch-elf/ie-le.s | 11 + > .../ld-loongarch-elf/ld-loongarch-elf.exp | 9 + > ld/testsuite/ld-loongarch-elf/macro_op.d | 391 +++++++------ > ld/testsuite/ld-loongarch-elf/macro_op_32.d | 120 ++-- > ld/testsuite/ld-loongarch-elf/tlsdesc-dso.d | 56 ++ > ld/testsuite/ld-loongarch-elf/tlsdesc-dso.s | 65 +++ > opcodes/loongarch-opc.c | 54 ++ > 38 files changed, 1980 insertions(+), 566 deletions(-) > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_32.d > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_32.s > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_32_abs.d > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_32_abs.s > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_64.d > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_64.s > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_large_abs.d > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_large_abs.s > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_large_pc.d > create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_large_pc.s > create mode 100644 ld/testsuite/ld-loongarch-elf/desc-ie.d > create mode 100644 ld/testsuite/ld-loongarch-elf/desc-ie.s > create mode 100644 ld/testsuite/ld-loongarch-elf/desc-le.d > create mode 100644 ld/testsuite/ld-loongarch-elf/desc-le.s > create mode 100644 ld/testsuite/ld-loongarch-elf/desc-norelax.d > create mode 100644 ld/testsuite/ld-loongarch-elf/desc-norelax.s > create mode 100644 ld/testsuite/ld-loongarch-elf/desc-relax.d > create mode 100644 ld/testsuite/ld-loongarch-elf/desc-relax.s > create mode 100644 ld/testsuite/ld-loongarch-elf/ie-le.d > create mode 100644 ld/testsuite/ld-loongarch-elf/ie-le.s > create mode 100644 ld/testsuite/ld-loongarch-elf/tlsdesc-dso.d > create mode 100644 ld/testsuite/ld-loongarch-elf/tlsdesc-dso.s > > -- > 2.43.0 > Technically you could define R_LARCH_TLS_DESC to be shared by 32-bit and 64-bit arches, like RELATIVE/IRELATIVE/JUMP_SLOT. That said, I see that the change has been made. It seems that la.tls.desc expands to 4 instructions with 2 R_LARCH_RELAX relocations? I think one R_LARCH_RELAX is sufficient to implement relaxation. RISC-V has a similar problem and I have suggested https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/421