From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60072.outbound.protection.outlook.com [40.107.6.72]) by sourceware.org (Postfix) with ESMTPS id 5A6BD386F020 for ; Thu, 7 Jan 2021 13:02:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5A6BD386F020 Received: from AM5PR0602CA0010.eurprd06.prod.outlook.com (2603:10a6:203:a3::20) by AM6PR08MB5542.eurprd08.prod.outlook.com (2603:10a6:20b:71::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Thu, 7 Jan 2021 13:02:27 +0000 Received: from VE1EUR03FT033.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:a3:cafe::e5) by AM5PR0602CA0010.outlook.office365.com (2603:10a6:203:a3::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Thu, 7 Jan 2021 13:02:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT033.mail.protection.outlook.com (10.152.18.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Thu, 7 Jan 2021 13:02:27 +0000 Received: ("Tessian outbound eeda57fffe7b:v71"); Thu, 07 Jan 2021 13:02:26 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 0d7f21fbbfaf8a77 X-CR-MTA-TID: 64aa7808 Received: from 0ccfa6b787ec.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 08B4958E-C899-4990-A787-B15E320D9105.1; Thu, 07 Jan 2021 13:02:21 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0ccfa6b787ec.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 07 Jan 2021 13:02:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eDcG/EFWilSTRmb0LMVqHfIuFxx9+Zq22fVB6HbEJ/Oe2Hn9puMwiok+cCfsrAvcOCo1qSZemXcpmKRVm205mv3uwN8VLJ3bxCeIIzROv1M7HbVMoTfJFgRnGoLNAftOCa9qkq4AgbXY2LxROn95lgfwGaOkoKbR5A5kmLkPP6AheuwpyGPK3a3YnCxXs5Zm6Jd3i3vxrVHdOSSL9cHE5SlBM6z5yw2gPUz0CZC110Jtnqt7x2hn4uGpfjxfISu6Mo1c3HvTNeDCze/50rbvaHbvQgtXYnWugYvEpt2LJSXAT2Ud1M+XVWtrIpqzzkE1m+1kjYn9woqYhj//C0ljsQ== 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-SenderADCheck; bh=ZQbc2IoqK9QOXBdEmuCsYgbKV9uzi+ypidEw57mx5Mw=; b=IHJ6mEGsLzRk8xBSfkFHgNfQ3AhA+o6d1waAMpPXKdvf34aU3Lhqdc/oUkOQuz0Tz3JiqaLBnzO+oBYTX0vUsObH7UfeE71NWiOIuuXviRqdB4baxUBQ0QH2LYqbrh4Rvw1xYzPAoNk3MLw/pmwPbHl/AQVsiubvpOO+m5kPFUe5rq5uMjRYrXqrvymA+CTPD/pnOvXWn9gbn1biRm7R74fGfO1amEoAuT3MDrbcW/YbhSGPmwfwugL8B9oIJ2bmwD3PYT/s46p+Em7+BlmZnO6+BSTdslDwgRrONurMsQGCLlQIPH9k0p8iig4XrntdDqfFvRv9raH605Z0CxYnoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; Received: from PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) by PR3PR08MB5643.eurprd08.prod.outlook.com (2603:10a6:102:84::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Thu, 7 Jan 2021 13:02:20 +0000 Received: from PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::700f:ddbe:a347:ee4f]) by PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::700f:ddbe:a347:ee4f%6]) with mapi id 15.20.3742.006; Thu, 7 Jan 2021 13:02:20 +0000 Date: Thu, 7 Jan 2021 13:02:18 +0000 From: Szabolcs Nagy To: "H.J. Lu" Cc: Carlos O'Donell , GNU C Library Subject: Re: [PATCH 3/3] csu: Move static pie self relocation later [BZ #27072] Message-ID: <20210107130217.GN2379@arm.com> References: <1bfa01e6e92073b30c02cb76a209656b9d97b675.1610016590.git.szabolcs.nagy@arm.com> <6b00243a-dee5-83c5-411b-0ec987e9a877@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [217.140.106.51] X-ClientProxiedBy: LO2P265CA0351.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:d::27) To PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.51) by LO2P265CA0351.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:d::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Thu, 7 Jan 2021 13:02:20 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: c068728a-0705-4890-48d2-08d8b30c7bea X-MS-TrafficTypeDiagnostic: PR3PR08MB5643:|AM6PR08MB5542: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8882;OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: SezQe9Hks5pQr01Sy5Sa8c9C9sClOKVLGuxYz+zhbawhM6y1JxXuyGePtRqxZcAyHrLiYjjpIO174OEReyBzPSfjPjYJSVEGKEUOn12M0Nm68GvIcmWQ142Jt7pXdcMTN30m9yAwclS19NQfCwxFOCxb4AOTLEC67a479hEBGPprUUZRrIOFa0Mu3V2H4JAmS79DtMaaDM3WkXlElHR90nwJWEP8jKFJivZ7IFKaRZO06QmFcRA+GZ5WwCPteM9Oku+gZvSRewmIoOPxw0Myz364PgjYwm8nKqZGgGwiDp5XUNnp0ocy7wllOahXIgUF7wTqSrVajeAagXGs1+Sr+nAn8j31w2oz1i5xtUd0Oc4OPcO0R5bKy+WE0iL8v8ZxVXFHu6T8h5r6QTlEwFi8TZ2lC0UJ+WJ7D3qURZVrThGamO2Edg8YmNBqf+OwYeZv3csUIDAw8p+vWQddNbOlHA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR08MB6320.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(396003)(136003)(346002)(39860400002)(376002)(53546011)(4326008)(966005)(478600001)(186003)(8886007)(7696005)(26005)(55016002)(16526019)(1076003)(86362001)(66556008)(54906003)(6916009)(66476007)(5660300002)(66946007)(83380400001)(8676002)(33656002)(36756003)(44832011)(316002)(8936002)(2906002)(2616005)(52116002)(956004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?L0I5aU1GWGdRc3ZVWGZGZmNkaVV6MlJuL0w0U3hHcDMyekZiaDRoL2pCN0Q2?= =?utf-8?B?Vml0N1ZxUnpabFFOaW9mZ2pBc0liZWJzOHFZek1xV0N4ZEZoVlBjVzRFVXJl?= =?utf-8?B?N0EyWFVzRzRiVzZQdWJwZEFRMEtHUDBSYUcyQ0dSOVY1Y0hFWEF5VUlCZ214?= =?utf-8?B?cnZLdURiWWhvTnRLOWZBMTNmaVhxbFZNd0tXVytDb0s1SVBLalNra0J3M1R4?= =?utf-8?B?eFR2UjJkMVJieGxyck9QNUxicVFWMHg0Z00xN1M2b25TMlp1WkRVQlV3YkN5?= =?utf-8?B?UmQ2VTJaZTBCMHo0MnNlMlMwVUxvdUF5VW9FMW5rSzVzejRudXJlMTZvRFZj?= =?utf-8?B?SWJhc1NjVVdVdm1SVElUL0JobGR2ZnZGOVN4OU1TVVN6Skd6OXQzT1BkdXEx?= =?utf-8?B?UDEvc2l3ellTNExtSWEwUm14QTJ6MUZNWjN2OUp6WE1uVWdmUzBnMVQ4aEcv?= =?utf-8?B?OVhHK29sa090S0FydFdiVGNZQzBoWXVPcFZuallTU0x2VjZHMDhJTXdWL0d0?= =?utf-8?B?Wjl0VWI2dDV2ckRZYW9IZDNEWHJyZ3dNeWpFZjFmZ1ZScHI5R29vU0g0djZt?= =?utf-8?B?V1NEYmc1S09tUE5rd09sMHFHQXUwZzZDcEwxVi81VEZpSzFMUGJiYVdMbnBS?= =?utf-8?B?VFAvMUhpTjJqa1RmQk1VNWpyUlMzUllOZ2RwcjQzTDdlM1VUMVRjMEVPSHAw?= =?utf-8?B?dXVoKzZuZm1QUi9UTGR3dm5hMllTTjY2TFl1RUNJOXV1aStzSFZtN1FOY1BX?= =?utf-8?B?cVFMR2lQSEZLZ2VnWElVRkY2SHE0S2MxKy9DMXRiMWc2cW5pa21sQWVrczA2?= =?utf-8?B?aXo0NjB2azVQbGpLcmphcmx1T2UyMHNNRUlIWW1RdWZpYloxWHkwRUgyOXFs?= =?utf-8?B?aHUrQmdLTHdNMTdwelJ3VS9ySlZTdHZBN0E4S1dOV09UQjBtWWNxQnZNMDVZ?= =?utf-8?B?Z21FcFU0ZDNaWUpiZkdnQm9qYWhxbkRKaU82WG5yelN3QS8wK3JHVjJCVTU0?= =?utf-8?B?UW9GT1FZaE1KSnNGZ20yMHh1c2NrRElpWDBMdkJScGV5eXR6MGEzdEJBQWI0?= =?utf-8?B?Sno4N1JpRzIvdTNmU3d5Zlh3OXlEZHArSnd4d2E2cGZQYm4xc1lCenJlUjR0?= =?utf-8?B?bmZTcmRwdGtocHFBb0FINi90cUpqOXJKOVBPYWI3VFBoanR1VStrZ1BlZFNk?= =?utf-8?B?T2lIbGt5VkNMelpMNW4xM1JYZlBxS2dNMkgrRFluNHBndG5oMm1RSHUwZUxh?= =?utf-8?B?eVNFZWYxS0hOTTZIYm5YeTRCQVU2SERUZEg0RkM1T0c1bTA4MmhhWkZBS1Nm?= =?utf-8?Q?hT2SqVSY9/Alofpw2cq6F1MRe4EibYuqQM?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5643 Original-Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: b3ec69bd-0747-4b9f-c366-08d8b30c77c7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1e68KDesKjySINEI93chHRKDVYrGTmRlLC8TcjpCuYJZV3gLmj/DrmzFB3elJjWcW+l+6vCpLKDbj02gn80eix3dpcZwFe5PbCOCGoau+uYp0a21/RuGtHcNdFU126MxLWR9cjbS+u68GGcy4TN1tJTNQcRlBb3ATizMD8I/tMeMcTW9Rli1fZFN201dEYb5mAx0kmC+EL7iUSjwHKbTTk1IDX0Fw7qx1T8f1nE7pQkOdi/2egnhM0k2g4Dy+IN9DFA6yu9xK9SWz3KeFWi6gaDsX59teFto4KuelSYzb+kYPKY+4aQnLX1XvHcbYrs4eNgHQk3iJ3lAZsCakrFeH7fX/A6/v0TF7pj97nSL5xh38aYLrSCIg7SwI1+B6RIDgwbVITzbyAnza96pztZmHNJmpnu1OP+UOu4WL8GMr+rgt+GhU8y8gaMbnDCzoSqGmr8AvELybjxg1hSTZG2NLz6fc3Q5WYuDt1lIEchzNJTV+YhgZmY0epjBSoXM3kkAH2DPGG0HhN9ivON+BMtER62BltZ02O6C3rFmk+cL6T0Z1MU0cma7KfjjBtm+8ccO X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(376002)(39860400002)(136003)(346002)(46966006)(1076003)(956004)(8886007)(5660300002)(186003)(26005)(47076005)(70586007)(53546011)(2616005)(70206006)(33656002)(16526019)(336012)(44832011)(8936002)(82310400003)(34020700004)(54906003)(86362001)(966005)(356005)(4326008)(81166007)(83380400001)(7696005)(316002)(8676002)(478600001)(36756003)(6862004)(55016002)(82740400003)(2906002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2021 13:02:27.1576 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c068728a-0705-4890-48d2-08d8b30c7bea X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5542 X-Spam-Status: No, score=-7.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jan 2021 13:02:33 -0000 The 01/07/2021 04:51, H.J. Lu wrote: > On Thu, Jan 7, 2021 at 4:46 AM Carlos O'Donell wrote: > > > > On 1/7/21 7:36 AM, H.J. Lu via Libc-alpha wrote: > > > On Thu, Jan 7, 2021 at 3:04 AM Szabolcs Nagy via Libc-alpha > > > wrote: > > >> > > >> On targets where hidden symbol access does not need RELATIVE > > >> relocs, move the static pie self relocation after tunables and > > >> cpu features are set up. This allows processing IRELATIVE > > >> relocs with correct ifunc dispatch logic. > > >> > > >> Unfortunately it is hard to guarantee that there will be no > > >> dynamic relocations in the early start up code, so this is a > > >> bit fragile. Ideally the RELATIVE relocs would be processed as > > >> early as possible and IRELATIVE relocs after cpu features are > > >> setup, but in glibc it is hard to separate them into two steps. > > > > > > x86 linker places IRELATIVE relocations the last: > > > > > > https://sourceware.org/bugzilla/show_bug.cgi?id=13302 > > > > > > Does your linker have this bug fixed? > > > > Agreed, this is something I asked about during the design of > > IFUNCs and I was told by Ulrich and others that IRELATIVE has > > to be placed in a group and after RELATIVE relocs. > > Not just before RELATIVE. IRELATIVE should be processed the > last before all other relocations. See PR 13302 for other cases. this is about static pie: sorting relocs does not help, the problem is not that ifunc resolvers have some relocs in them, but that the target specific relocation processing is one monolithic switch in a loop that handles all relocs in one go, there is no api to request only a subset of relocs to be processed (either by type or ordering in the list of relocs). in __libc_start_main we need to do do_relative_relocs(); setup_auxv_tunables_cpu_etc(); do_irelative_relocs(); which cannot be done without major changes in all targets and generic elf reloc handling code. so the second best is setup_auxv_tunables_cpu_etc(); // avoid relative relocs do_all_relocs(); on targets where this can be done (other targets do not support static pie).