From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2052.outbound.protection.outlook.com [40.107.7.52]) by sourceware.org (Postfix) with ESMTPS id 300BA3858D33 for ; Thu, 2 Mar 2023 11:37:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 300BA3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V6ELngcMrTIMfrZwHBh3oeRMQ4zEE/UUOG6mRM77fNwukVmsDycqXEqQtZEB0wJt4Qaq6NvKGRZAFOAbLJbuQOOVHvruQJz36C5KvNrgToK1WnQFvjAq38IJlvhgT2HVT15lszvCdm+mqUeJ2oMixDyv6Q7kLqcmWL0yRHNyQ+Vtk0hKyhq6RY3U+hFCWEhZCXg+lelwZ5LS/RcXmQr1A2JkTp7gkCdg+qQokCsLQFZSwxnON5/EGL35vraR96mk0E1lEYK0/ujgj4vsBkTtqT30K/OkpAinQOY+Vg8mIj0pKqJASJoDt9fUVGJnhC3cf4FxVe/V0G30Eu9n2QONhA== 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=zRNn1YNafXmPkZBK6gbdj4rMG/t035+S83T07o34xiA=; b=mrAcamF+BUyTuD7pVJ+iz4vpNpTNJoMYisiT7Huqtvlizv99CeQzIwnfM6z4Ut5NJkrXRjDKXYnvN/6sWddGBDvLFhCNS36QVyJFkPqhVoEUIjFCGPX2yvtdSlvC6HREbtw5xzW/MW2bjnh8rm/EKIu4tCMrfwcWfXq+M1UV7+VccOLWivD9rnVUZ4R8IIeUnWqy9KOC9sxT4lXGsiqR28X1wjNeYu5BXzi7v+NPWapcMWU5N9IJcj0uf1P1qX6IrzVrqBnDVqDWLd+KyG5jqccF7gICqYXlW9FRyT29Qn/5OCjgljvzaNjwQJloti7sD5vuOy186qojjvt9brk8vQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zRNn1YNafXmPkZBK6gbdj4rMG/t035+S83T07o34xiA=; b=zLm00mJXvcTqhtuNbN5L8MM1mvtW5XAmO51OiXDqiURlbhEbScbSf1+34ditdFJmGFm4FV/+WQUQE6sM2/dFZTWmI+HnLnk5WBGCOydrXJ4QdY867dQSlXuxUvVZYQpu5g89ye8/CoDSsSuy7O0OmA0Y/7iotdCEifJQai1m9nX5TkwkA7Jb8voWP2X/uEyiw3G2QurfaiqoofkqpeOb+q5WhDQbcQH6mtVk4USIesb5QE/exPj8WfoB/7k6jc+Jhn1Q16A6sxsRRWnE4MHHiY25VVJopATyd6JvoFYq/5jUfCrl7oMqhC4oW7s/i6tUIWL+ZrtQGJf9YDikkt8RFA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DU2PR04MB8806.eurprd04.prod.outlook.com (2603:10a6:10:2e1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar 2023 11:37:45 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023 11:37:45 +0000 Message-ID: <2c693059-fcc0-0874-68be-47bbfef47260@suse.com> Date: Thu, 2 Mar 2023 12:37:39 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH] ld: Allow R_X86_64_GOTPCREL for call *__tls_get_addr@GOTPCREL(%rip) Content-Language: en-US To: Fangrui Song References: <20230105210542.3573076-1-maskray@google.com> Cc: binutils@sourceware.org, "H.J. Lu" From: Jan Beulich In-Reply-To: <20230105210542.3573076-1-maskray@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0159.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::19) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8806:EE_ X-MS-Office365-Filtering-Correlation-Id: b631a2c9-e386-4862-f32e-08db1b128977 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: f8u/vtADtKdFZJnBn0LFgjvwo+uupE9e3i7+pLt6lMRMbjU7MYfsdBsQp1JV3p3FK1NSOjJO86QTHCezZsNWZB/78LENaS0HwGmuBVNoFdY/SRbZl4EWl7mBvBSr6uqUcIYlRs5Ckq3l8lydR8o2mvRuGSpoElU9eBAq748FrgLZFlUlMwR4UefnZlP4eKvIgf2vhdtWgdkMkE9W1pfzH/JFMfjSGWm2zIx8JfvJW/iZoamkgdo+3+Nt515extPQFJ6F+OrXDEb0iVBOACpjdAr5f5cKuXMEpNLI9MZhXvKMNIYf/f+w+/ZVxJfe/kdiMCkgAh+EvBabAKNlrP3Ij3x3KDRea6b1+DNbMh6yi+nZ65t4K6vdPquHUmf/N7x/YHktoJpEjbi52KKk0mWG8Xx2//m14ZYn0Txw93L6LhUWMw6L5eX+W844zlONWNNsBfxNhbFO7sbXwHarfZgPU5ZWVhP0+Byl+g1Ws9k7gqxpqN2GHv+ROwkSqAuzVXnodEdneSTr+uzIaQ8ymGhvzMQdcWo9WmWM/P39DWL77TbBEJ8N1jyuoBNmTJlKSusACRwcwHDE4e4brLBO6CeKpixDE4ojFCpnUCuzKBzumNkI/4RDmbaEWbi8h+pkQycKSVGzUJUagYitNkAPQHxjUORdJkQzfr3LaTMPy7mKukgPfzuyjF9nrSoLFIU6YjeIJGFSpWeimZbRNVLMjooiWV6mOoBEPiD/S52BMyzYIkw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(376002)(346002)(396003)(136003)(451199018)(31686004)(5660300002)(8936002)(6916009)(4326008)(41300700001)(36756003)(83380400001)(2616005)(316002)(66946007)(66476007)(8676002)(2906002)(66556008)(6486002)(38100700002)(26005)(186003)(6506007)(6512007)(53546011)(6666004)(31696002)(478600001)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cjBZTmkxNWRVOE5xRTdwL2ZEMUg2WDIzWVZ0UVkrNFlXRmllSmFyN0ZmdUY1?= =?utf-8?B?Nk1jSnE1OU5HMjdjS3pnSTExcndzSUI1cDhMN0VmOWhYeUpRWjB1cE9BRWps?= =?utf-8?B?NGl5WC8xZHkxalVSZ0prZzZQQ28wRjNTK3dKaUVTU3ZPS1pZdVRzU2FJK1Vw?= =?utf-8?B?bmRpZ3A3dXZidmxTYXd2WDFWQTlDZ2IwZEMzcXNzb0NOaE9GcWNCVjFGbTVv?= =?utf-8?B?QlpiWWFUWE9RdCtlaVlJRzkvWTN2SE5FYmJnenZNaU1JZVFsdDljNEZjQ2dn?= =?utf-8?B?QmJqYk56VHV1ZndQWGJhYlo4cTVsUkp6eFZGUFdGeWNqclJCNmpoeVFUR0hY?= =?utf-8?B?NERKR29pS0dDOXJsNE92bWZNRjZTaU9yb0xWRjl0MXRKSTNtY1pSbWxBMzNC?= =?utf-8?B?QWFreWxUUWNsMTRqbDd1VkQ5OFBFbjBQRXphSG90TnNLaStUQUNaTVJhWnhR?= =?utf-8?B?WDhVWUhLK3RDZzdlTUxSakhsMU9pakh1d0FhVkQwbWU3dEZCQmNJRDhYeHlY?= =?utf-8?B?b0pLTU5wYS9Dd2lWQXZtMnUrcDNaZG5NalVLTGg4cWllZ0dqRHlTZUNlOHV0?= =?utf-8?B?MGYrYWlRbU1pUGcvRUxDSUJVSTFpVE45REs0YjdqUWFKT0tqVmp6ZjV6YkM4?= =?utf-8?B?T0F2UGxtQ2k0WDdmSS9HUU5NRWJkZG9iaGR0OVdzN0JVQlR0c29oZkhnb3Vt?= =?utf-8?B?Y0R1RGpXd1NiaEcxcklORUNyeis2bmh3S2ZORFNWQTdpR0xiSWpVeEJ1clVp?= =?utf-8?B?eTJNMHhTamhTbWhsMHA4dTJHcE9ZTkRaYk1kSWRESjJaWFR0MXZVL1pwWGRz?= =?utf-8?B?eHppaDlMWFBrQk12ZkhrSXRqbHFpSnhsUVdhVjgyRFlWRWRhTU9rOXJPSzh4?= =?utf-8?B?NUdNd0lHODhLVlpJMENPcHNWYStPenA5dU5oYVpHYTBOVXB5d2pmbTlWcWpp?= =?utf-8?B?L1ZDeTZ2dWc4TGRnQ3lVK2R4Ti9KQWZaaUtuRE5xWVh6LzBPM200L2dUSXBk?= =?utf-8?B?NHpaRzRkK0lUbnNWRDI3WW54R3ZxUVlyOFR5K2V2cVdTNk4yTXVnUTVTMkkz?= =?utf-8?B?MU8vc2xIZ1F2WUpNQUNONE8wVFlIVUVrRFpvZE5ib1ZzbzhSZmdPZy9wVUZP?= =?utf-8?B?SngzL0tyRUxFbEtXeEdoNTU2d1NXZkdQSGxhSTR1T2xTZ0tNdndCNzc1b1lo?= =?utf-8?B?VmNyWUJCNGljWEJULzFpYUp4WjVPdTkrNHBlSTlxNzFpKzVxQXgxWUwweTZV?= =?utf-8?B?c2UyZmM2cTZTS1BCN1ZLM21IR3Y3WUswWW1EQVRlMXU0SmRMRE1oV1cyUUJQ?= =?utf-8?B?aWhubzRiMDNIcnd5M0FKdi96ZTdhUEM5dXhPbkdJUFJaVUxhdnhDQmp3cVVp?= =?utf-8?B?andjc2JWaHFScklaUEQzWVhRUmErcGQ0dGFFL0MwNi9ObjR6ZEVhNnlKeE53?= =?utf-8?B?RlB1c1dlME1PcmRzeTRrbDF1Sit2ZFNvcjRCYzJFczk3OU9KTXpiSXZiS01v?= =?utf-8?B?c3hxZ0tLNUk4Q3ZnQjk4dmsxendJR3lid0hzM1EzOXo0YnJGRzJQeW1rZGpu?= =?utf-8?B?OG9oWjhnWTM1QkRIbGdYUWJraktzM2FIM1lEK3hkUHNWNWg5MGxjMC9QRXBp?= =?utf-8?B?QWVOVy9Yc0ZENy90Mzh1blc3bG9kQXJjUXlSNW5sYVNjU0p5eC9IVEZyOG9W?= =?utf-8?B?V0pVd3JXY0lnclRqOWVqV2d3enVUN0sxSHFJL1JMT015Lzk4QTVMYnl5eTMz?= =?utf-8?B?S05Bb2EwTXVuZWFMRkFjcWFIR210R0pnU0RaVm1GUUZidEl5Y1hjczkvOWVh?= =?utf-8?B?Z0JhYnFoUkZSRnExUHQ5d3lJdVUzb3lmdXpXejU1T0ZoMnFPdmRDV2RLdnQ0?= =?utf-8?B?Vnp6NHBnNUFGMi9XZnp4SzhJZlFVQjNPdVNaTnN6dksxVUYwTkFSYVNNL3FP?= =?utf-8?B?U2R1akJmM2RSbHQxcko3SlBqZ2d3YUJ1bEl4YnR0RlMvUzYrSkw4TVNCVVJr?= =?utf-8?B?NXNPTm5zK2g1MzA3WU92NXpWWFg2dTJKRWJDOFpmYm5RZnNCajk5ZW05V25z?= =?utf-8?B?aU9EbE5EU3M4b2FJRDA3VGtqeTF6cElSZ0E2a3B4SUFzZjJ2ejQ4aVFzYlRI?= =?utf-8?Q?n4h7OyGIOH0Ztm1/8DZryvT58?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b631a2c9-e386-4862-f32e-08db1b128977 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 11:37:45.5256 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: wLQC7xQJPsSnIco8KktGRnXFy/RYkmhlmUGoCdY6uIPXFs/ZAiHbxZDPNPvvDkx1pjyiO+ojrc15KB2u0cbyAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8806 X-Spam-Status: No, score=-3034.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham 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 05.01.2023 22:05, Fangrui Song via Binutils wrote: > _Thread_local int a; > int main() { return a; } > > % gcc -fno-plt -fpic a.c -fuse-ld=bfd -Wa,-mrelax-relocations=no > /usr/bin/ld.bfd: /tmp/ccSSBgrg.o: TLS transition from R_X86_64_TLSGD to R_X86_64_GOTTPOFF against `a' at 0xd in section `.text' failed > /usr/bin/ld.bfd: failed to set dynamic section sizes: bad value > collect2: error: ld returned 1 exit status > > This commit fixes the issue. The discussion with H.J. looks to have died out, without a clear result. May I suggest the following (also for the other, 32-bit patch): You extend the description to address H.J.'s concerns verbally, and unless he comes forward pointing actual flaws in here, I'd then intend to approve the changes. Jan > PR ld/24784 > * bfd/elf64-x86-64.c (elf_x86_64_check_tls_transition): Allow > R_X86_64_GOTPCREL. > --- > bfd/elf64-x86-64.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c > index 914f82d0151..095fe2e0fe6 100644 > --- a/bfd/elf64-x86-64.c > +++ b/bfd/elf64-x86-64.c > @@ -1241,7 +1241,7 @@ elf_x86_64_check_tls_transition (bfd *abfd, > if (largepic) > return r_type == R_X86_64_PLTOFF64; > else if (indirect_call) > - return r_type == R_X86_64_GOTPCRELX; > + return (r_type == R_X86_64_GOTPCRELX || r_type == R_X86_64_GOTPCREL); > else > return (r_type == R_X86_64_PC32 || r_type == R_X86_64_PLT32); > }