From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80080.outbound.protection.outlook.com [40.107.8.80]) by sourceware.org (Postfix) with ESMTPS id F2E053985800 for ; Fri, 15 Jan 2021 14:27:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F2E053985800 Received: from AM6PR01CA0058.eurprd01.prod.exchangelabs.com (2603:10a6:20b:e0::35) by DBBPR08MB6234.eurprd08.prod.outlook.com (2603:10a6:10:202::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.9; Fri, 15 Jan 2021 14:27:49 +0000 Received: from VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:e0:cafe::3b) by AM6PR01CA0058.outlook.office365.com (2603:10a6:20b:e0::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.9 via Frontend Transport; Fri, 15 Jan 2021 14:27:49 +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 VE1EUR03FT047.mail.protection.outlook.com (10.152.19.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.12 via Frontend Transport; Fri, 15 Jan 2021 14:27:49 +0000 Received: ("Tessian outbound af289585f0f4:v71"); Fri, 15 Jan 2021 14:27:48 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 4907c3a87c1bcbb4 X-CR-MTA-TID: 64aa7808 Received: from f63ada380680.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 84429A93-CD11-4B46-BE76-39A84DB11428.1; Fri, 15 Jan 2021 14:27:43 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f63ada380680.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 15 Jan 2021 14:27:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BNRR2Qmta2OE6WilqYjiGvXBPh8KxCiGwCK5vNp+YxyQZwMDf5guFptY0QokQQmgMCg2W8PkUOPb9liJnbIMZVaVDT4F0dnkFOjpIrIOGhLJMJzvjk5/XoRi7psRfn6VI1XJJclvLyEdHw4rSbCSnDuwuhE7yhYBsOECwwbZLsCCXduKivPqlBa+tpyS36tpo/kyJ5He4wPuCW5MxQXqZh+q4XOnFz0D4LJ9jQ3iF0T1fG5Eb4DLI80iCZYQduRchF6o4S+hlEXuf6ldwUVcz9bqXfwJP3dZjofF27eNc1km9JgvM0M/PP73Ynb3YuXhzcLw3SS3VoO4ElAm7WUtUA== 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=ux1Lf9lJZA6y4ppz6DTpHlyIz2YlgjmI9aeEg6a0LwU=; b=SXyN1/x/H5em67KY3WggbzIx9CxkQNkPiS0A1YzI+htRVWUMccgTHUdpWJj3em545lUtTeH0ixG4rt0cDKh/2MLn/1caIJmetJKsF0Py/ttoldxT8T0e4QdrueS6yNaiM4ivaEvJookvuII3ZNm3dMGG8y7GHBlnsLjnDxzRN1hsQXwXbxy5oCk29VldGQPxHlid8tzkoS0c2FVcm3ZNqCM4WIZmN6dyeus7xfqK3pBxKrFdhxYB5JNrnEgERoUlXiHyN3hX6C2bl8bqtsrp7Z4AvuI5KGhPXxoBlnaizjTTyZGKkK/0y157ktIZZ2AQvoB7914ibm8AY97OyYL7Jw== 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 PA4PR08MB6077.eurprd08.prod.outlook.com (2603:10a6:102:e7::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.11; Fri, 15 Jan 2021 14:27:41 +0000 Received: from PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::700f:ddbe:a347:ee4f]) by PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::700f:ddbe:a347:ee4f%7]) with mapi id 15.20.3763.011; Fri, 15 Jan 2021 14:27:41 +0000 Date: Fri, 15 Jan 2021 14:27:38 +0000 From: Szabolcs Nagy To: "H.J. Lu" Cc: GNU C Library Subject: Re: [PATCH v3 2/5] Make libc symbols hidden in static PIE Message-ID: <20210115142737.GF11466@arm.com> References: <27498bbc768372541e4379794656ac2778d33035.1610471272.git.szabolcs.nagy@arm.com> <20210113095053.GA2379@arm.com> <20210114111757.GA11466@arm.com> <20210115112524.GE11466@arm.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.52] X-ClientProxiedBy: LO2P265CA0124.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::16) 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.52) by LO2P265CA0124.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.9 via Frontend Transport; Fri, 15 Jan 2021 14:27:41 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d183f25f-c092-4d79-1feb-08d8b961bc37 X-MS-TrafficTypeDiagnostic: PA4PR08MB6077:|DBBPR08MB6234: 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: xgIXLH9ECpY3Z6xlXqqhhQr0Hd5If5b2Ccyh0QUThGFrBQABvdkcWtKxnCc4EX8tbnC2MvidwnQPyv3VkpAj1NnmpBnVbFSjJhXX0UIB96sVkG3L2L5xIZqS1dG6C84fWB3Y5NInT0IcSuivA8eXnDCUj00s8C1DFPVyLNLNLCTGdpSjtrDQmcx9CimPkEstDrbXtGDCfxXjNzMlJX1j9XNCdmuWp+/0Ii6GN25PjYwEIx9XOGzLBQPsvTxZIHl+O/ryalGABw96kJYuOEfy/GofW4j3VR8/d5INqcZf7pQ3yIQEpqT3h2noUIQ7CQO4lxHUeCYMFHYM7YvGzxbPVvTVygXdLJdSq01Eu3LVxeriCArePhjunw6Wk4OqMlfORKTONQ/6QjA1MBzzpjK2t6zwd77LJtRppAabbqRznQ/0A8zpi+Ue3I5eFk5Oui8xPxMiHOZn4U4ZMuqVyT2O+g== 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)(136003)(396003)(376002)(346002)(366004)(39860400002)(44832011)(36756003)(956004)(316002)(53546011)(186003)(2616005)(16526019)(26005)(8936002)(6916009)(55016002)(8676002)(2906002)(33656002)(478600001)(5660300002)(83380400001)(7696005)(66556008)(6666004)(52116002)(66946007)(66476007)(1076003)(4326008)(86362001)(8886007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?Qm0rYTEvMHZ1NzJ4eFRqcUZqUVBwcnJWcWNrRmwyYlNxNzN4dUtPTUh0emFU?= =?utf-8?B?OUROMzkrcld6bGEyRzZPbWxldS9WdXdRclNBc3hPU2padTVoZmJRcGZjeVQw?= =?utf-8?B?YS9xVUFaNnVsNFRpaGtET0lQZlkrUU00L2drYXBXbU5wVys0cDZTaU4zVnVI?= =?utf-8?B?TWVyMW5vcmZTYnlQVlE4cStudmdlY085S2FHU254K0pzY0JPd3YreEJOczFM?= =?utf-8?B?VlBQTWd2R1U1cFdSUzV2emRVd0h5SWUzcm5ucjYrajFJZS9Jc2dwTEpOZU94?= =?utf-8?B?eDBOalVtMU8zUWp6MS9PM09QNysvbzRDYnpBclBPV3I0cjdkKzBlMndRSE82?= =?utf-8?B?VVYxd0tyRTljb01PMmYxZ0NMejFhT0V6TW84R1d2T1cwYnNkcE81SWZ6Vmpm?= =?utf-8?B?OGtsQVE5V1JKaitveVFOQmphZTZ5cTY4dldqQXRmMVkzVWZ4SlZER0xkT3F2?= =?utf-8?B?MHZiVFV6RkFYcVZUZDBHMk12SFdUeWhoWkk4ZlU2MitxL0JWdXdQSTlNQkg5?= =?utf-8?B?SUp5bDlaYktIdklpcFhOUHU1K0p2VExqR0p1alFnSjRkMFdnRW5uNUFBcTUy?= =?utf-8?B?WDJjVnVWSVdyaXdYN1JHVExBSnZBM0xlc3lkRHdPczZzRWhCbkM0TFJMQ1JY?= =?utf-8?B?MFUrZGM1RDhyMUtxSFFQS3F6WDErVyswMVB3Qi9CSjBJbmNnTDJjY2d1bWlt?= =?utf-8?B?a0tQVjNJamFFdDJBV3FVZE9Xc0U5N2pxZ0JaT2x0eTVHMFNzRUpTcExab3RC?= =?utf-8?B?QWd6ODdYZDFCSHg0ZmNRTDl3TXI0aWdOYlZYSit5OUhuQUw4K0dFb3B4Skdp?= =?utf-8?B?WGcwcUFwTWs3dVFvYnZpb3IxYklLb1JER29ydHVncFRkdmNKS1MzeEgyRzBh?= =?utf-8?B?UHpIWmFQM0MrbXh2cU5PT2tVcU9vaSs0Z3huWWVSWGRlV1pwTlNvb3dNUzhu?= =?utf-8?B?OE4yTHJtWnZudGltcE5PK214dW5hcDJYYkxZeGI1SWRIK21iUU5TSHlIeVJx?= =?utf-8?B?ajBBZWVSOFpDMXE3c2R1S0JyUmFramFvRllPOEUwQkx1R0lSUlczZWFnR3cv?= =?utf-8?B?QjhtV09zcmhmb3FTKzB2ZTJnSDFTMS9NeDBEanhvTDZKODVCbDdHYXpJU2lo?= =?utf-8?B?cVFWMFUvYjh1UGpTWXlHTmJsYm13d05maEN4SXRFdG1DaS9wODBBYy9LL2ls?= =?utf-8?B?SFMxdXpDcUlDTWo4dUJFZUNQWW1LY05TMWVpbjRFOHhUcWZhS3dTL1ZXSjZk?= =?utf-8?B?V1ZDdlhSTGlpRk1DeStLS1dQZTU4ckZoMXFWN3podmFGRHNhM2xkOEdjaEJT?= =?utf-8?Q?gnXJX8dxjdh5uFSSo4XYYKtqEMQ9z99zqx?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6077 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: VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 7f4cd428-5d91-428e-e765-08d8b961b761 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FbjuOJI/9PbdA8449RhDHlP9l6TVGSsXsRHABPZ+SIdF5kv7UJYjVUfoSFDWstK3TpQWm+2r3fmieIW45TdbhkC7Fm1FKjZ3FgrWJ5MFWMjnjQruuVGq0vKfNVtOIWJLuYacJ9hBVCw9atk/q3I53NOEHNYA/8qybnDYkeZVkL+HaVlxnbQtvgtsEbftSw785uWrH4ofUXioeCe41hs8oIzFWG4pZSTOOZNOUPmioJEsJCbNz5AyMJyp5CjahHbj88bBl9GcNsbZ84p4FvdlPZSOyKMvUjR+Uq+6HB4j19djTb5QtSMzpQi9n7T/8t84hh78V0/95t7i0wyBhXkWjEhvVangLXih4wOS/72nWwJCPnAC6Ub8WCrz9B+lSGL04hvMZD+t/dNd5BBeGPIJ9cYM6rCpwcBLGDbb7i/PJyYRkJn5PRHmgrgR6TWAS/DfvSGNfRgYvshiRxlOvA73Kho7RBgB1WqB7SB1/BtlmQv8qpB+lx8tE4q09yAvlVZyPynLL/X78NvKLv3l4GnZfOPgo2gNvjj5jfzabvB3FkuQ1MAjPfpvil3w+ePbwmwf 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)(346002)(39850400004)(376002)(136003)(46966006)(8936002)(82310400003)(34020700004)(356005)(1076003)(33656002)(53546011)(44832011)(86362001)(82740400003)(4326008)(956004)(81166007)(70206006)(55016002)(478600001)(36756003)(2616005)(7696005)(186003)(8676002)(26005)(8886007)(16526019)(83380400001)(70586007)(6862004)(47076005)(2906002)(5660300002)(336012)(316002)(6666004); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2021 14:27:49.2321 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d183f25f-c092-4d79-1feb-08d8b961bc37 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: VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6234 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, KAM_SHORT, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, 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: Fri, 15 Jan 2021 14:27:54 -0000 The 01/15/2021 05:43, H.J. Lu wrote: > On Fri, Jan 15, 2021 at 3:25 AM Szabolcs Nagy wrote: > > options: > > > > (1) fix extern hidden pie calls on i686 (by making > > them the same as default vis pie calls so ifuncs > > work). > > > > (2) annotate ifuncs (avoid hidden for them, ifuncs > > cannot appear in early start code anyway because > > of IRELATIVE): this can be difficult to maintain. > > > > (3) annotate early object accesses to be hidden so > > RELATIVE relocs are avoided. (most targets want > > all objects to be hidden, but this solves bug > > 27072 without causing problems on i686) > > > > (4) make pie always use copy relocations on i686. > > (and then no hidden annotation is needed, object > > access is always local in pie). ... > > > --- a/elf/dl-reloc-static-pie.c > > > +++ b/elf/dl-reloc-static-pie.c > > > @@ -17,6 +17,7 @@ > > > . */ > > > > > > #if ENABLE_STATIC_PIE > > > +#pragma GCC visibility push(hidden) > > > > yes, this is option (3). you will also need it in _dl_aux_init > > and __libc_init_secure and __tunables_init. > > I will try it. the naive way does not seem to work: _dl_support.c has _dl_aux_init as well as _dl_non_dynamic_init, the former needs hidden the latter does not and calls rawmemchr which is ifunc on i686. i think the easiest fix is to move those two functions into separate files. (ideally we would have a small set of files that are involved in the start code before self relocation) now i realized that there is another option: (5) remove all ifuncs from i686 libc. i assume there are not many users who care about i686 performance.