Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp632729pxf; Wed, 10 Mar 2021 13:48:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJx35qfnYOBtrWx+W1rZxg49yAhc/La2bUz9nBAi1QgeThZLHF65hD45N1klKnVemwU08qaU X-Received: by 2002:aa7:da48:: with SMTP id w8mr5364856eds.81.1615412900899; Wed, 10 Mar 2021 13:48:20 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1615412900; cv=pass; d=google.com; s=arc-20160816; b=pFjgelE+27GIUSFpdwV1YhUwl3VAqTQRAP5Q8r1s1stB7V8APEkf+u50f+zE6IiWWZ yMwvZ5O5GFkcVrEqHcalSwUNsHPybLjCqoHL89rfwkyBEqEW/LVHwzEbLF3BStNNHc/3 VdIiKUhgZ9FwpaEL7Iba4L9KXpwHbgoGjH8p9UalJ6U05NJhoG+naUZkPh5HJT/VFwBx EcUENeVbclMXirIv1avwrpwmyPoSi9pTX26/zQbxJLuQK1cu5umBbb7LsFpxF5gQAL2z bvWliEy+hWXteEkdyU5HV86s9/ufwiBOsBn1avxgiuMrPSUpBnAETauOoEzl4oYEJpF3 S0sg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:in-reply-to:user-agent:date:message-id:from :references:cc:to:subject:dkim-signature; bh=rWSR4hUuXHYBCmVp5rvknioHslHGi+e8WpZTvdiNZfU=; b=J+nQz3waO/BEq10ZQF+kskv69yCWdS5Cl29i3BAXDqzgpaobTWUBMgefPDhtZSg5hA +iTr0UiG+eOoepEcgHuognIIaVddMdeQYvRCkcSnCwXBl6I+jXJh0tPTTkTpPxp772a1 Xrtz4dNv/S0PImqVjKkuBPDpcubhBy06cxPbRL5bmrXZ/Y/sZLXXiIiufYyX3xBiwwdf Pqg2L34ZNMDM0FWHKqvhQwPGrGOaaflaD1gRQcscooidIj6OQ6J6R0Ikql1uQnO3kDwt cfqFTQFZH0wY61sUrRaADFDNt6huJL8SROzKsr2KNZxXCecsONQtcKeTcx4TD/v5FhGM ne6g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@prevas.dk header.s=selector1 header.b=eizwh3Ym; arc=pass (i=1 spf=pass spfdomain=prevas.dk dkim=pass dkdomain=prevas.dk dmarc=pass fromdomain=prevas.dk); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=prevas.dk Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s9si346528ejh.211.2021.03.10.13.47.45; Wed, 10 Mar 2021 13:48:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@prevas.dk header.s=selector1 header.b=eizwh3Ym; arc=pass (i=1 spf=pass spfdomain=prevas.dk dkim=pass dkdomain=prevas.dk dmarc=pass fromdomain=prevas.dk); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=prevas.dk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231410AbhCJVqd (ORCPT + 99 others); Wed, 10 Mar 2021 16:46:33 -0500 Received: from mail-eopbgr60119.outbound.protection.outlook.com ([40.107.6.119]:42292 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229505AbhCJVqC (ORCPT ); Wed, 10 Mar 2021 16:46:02 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iAvhIHZ3GRC2GeVS4+lBIGG/ygRbaaYmc/JpA1PDuA0MhWlq5pQ75jBZkUy3oRzszRukh5v8tgUtp8kgOprm/r/iE3meARMTfKE3/gO+czVrPrde5WCLqoy1KF+8La7Y5fGfJQNWKYqXrX/05AVhzkPOvaJ5GV7tphthd1ViD/z1ctSye8SF9vSqFtb7tzwk4fBgeRq4WGX15OzSwURDrpRvn2OvGRQGVuqC1/lytzMt63B4odeB0USj8ht6DnBvJS/eilCR4cCag9hEc+/CDrbESCT1tVZjKkA1cdohoP/kuP6ehxJvUxJYq72NvWCsO1feZ4Y4fkCxhml10Km7Kw== 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=rWSR4hUuXHYBCmVp5rvknioHslHGi+e8WpZTvdiNZfU=; b=fcjzRa4LhcOxJKn0Dr8yeCqdK1Dd22UGmdH8LEHFC4/q8bQ9KIyh4Clq5kuplc07V8jQxyhBdQCDDmLdotjlagGAD6dUCYkmvOJsodmaaf6tRfMDqcdsw6qAeFzZrT576hiBtgp+DOJEyJgr1u++plxjV3byMSr8TRWIjGYVJK3saEOqcHpGsDaZpMMHxOQ2RSjMgPf3a4CC2YyFrAEwGTCFFKfTm9WGN5iHmZTH8PE/tAyrjFz34ORs+OZkYFzylHpzK4xX42UNDVRhGJCWnazHnsxjTOXHtxs2J2QN8iRh9/HMGWLPEVoM4r8gqCcW1y2PXm0WBf4w5yyU4MNyeg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rWSR4hUuXHYBCmVp5rvknioHslHGi+e8WpZTvdiNZfU=; b=eizwh3YmDHf3Na9xTp0UdtN89nuJGA5/lugdjzmNIWezeyAGXpIVgJ3+nLXDGSzYkE61QIsSR78eN+o3zXp+wqIu1YYFTsDyAE66D91RiePecaeWpCnU8ElBAbNAEVKAW1i78Yqn8cH0Pi3TPmLw2vyrPy0m0AbxcXYMzLDY1aM= Authentication-Results: fluxnic.net; dkim=none (message not signed) header.d=none;fluxnic.net; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB2402.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:e2::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17; Wed, 10 Mar 2021 21:46:00 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::58b2:6a2a:b8f9:bc1a]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::58b2:6a2a:b8f9:bc1a%3]) with mapi id 15.20.3912.030; Wed, 10 Mar 2021 21:46:00 +0000 Subject: Re: [PATCH] [RFC] arm64: enable HAVE_LD_DEAD_CODE_DATA_ELIMINATION To: Masahiro Yamada , Nicholas Piggin Cc: Arnd Bergmann , Fangrui Song , Ard Biesheuvel , Arnd Bergmann , Andrew Scull , Mark Brown , Catalin Marinas , clang-built-linux , David Brazdil , Geert Uytterhoeven , Ionela Voinescu , Kees Cook , Kristina Martsenko , Linux ARM , "linux-kernel@vger.kernel.org" , Mark Rutland , Marc Zyngier , Nathan Chancellor , Nick Desaulniers , Vincenzo Frascino , Will Deacon , Nicolas Pitre References: <20210225112122.2198845-1-arnd@kernel.org> <20210226211323.arkvjnr4hifxapqu@google.com> <1614559739.p25z5x88wl.astroid@bobo.none> From: Rasmus Villemoes Message-ID: Date: Wed, 10 Mar 2021 22:45:58 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [80.208.71.248] X-ClientProxiedBy: AM6P195CA0076.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::17) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.1.149] (80.208.71.248) by AM6P195CA0076.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Wed, 10 Mar 2021 21:45:59 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a92f66a1-2833-4fd0-a129-08d8e40de500 X-MS-TrafficTypeDiagnostic: AM0PR10MB2402: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LBEHV4sbBlydUX7ITQNNOcUjFOK9g/Ai9Tyh5y3i6r+TdxReFc4/YbIqM5y+ZoFwXquZqslPwWnuK8D0hdfzhhEnQNC6burkt29Tk9a/89Aml7Y3EmjiAF8iEv6trGh7pusif73dBwqqTtxUp8yH75P8RcI+dea/ha4eGVf+z74SzxehAUlQYOGmZ/Dnjuoxx+g69QguROhyyPNp4EoCEFYuYMDWem+4SmBQWWYXY2ArQuQ1qgDFTcsBkXJaC9NLvjKQWkbpAyWIn5sbSpR95gpjFADIMneX9q6reO4az+qzlIUC9JVlsHrW/tb5e6YSLLf5EhTqhYqsO/zg1IWnuJZH2eJ68ZQwaICw6qQYAaprF03zSToK2u6VtCy9Ej5z/2EiqOteAQGjvGzfkhS682WYcqEuyqeZG5em+vhXMF2vIMPTo9Wgy0KbB72HLXqVtQ2SH7dYrGIEIQvQ7ZCa9dR5Glbw2GWJNxEH0iCt+66YiixAkBIbYri+LKdMJiE2Cq3EHzxTpIdRd8TmF6YTI7MVpRRAop1DMKP277H70qhjxyQWqsCbKb+E2daElAm6eKY4xmecUn7CyFHEo6XwbiZOGSlnY9pCYL7jXuIvllo= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(366004)(39840400004)(396003)(346002)(376002)(136003)(316002)(53546011)(8976002)(86362001)(8936002)(66946007)(956004)(110136005)(54906003)(16526019)(7416002)(186003)(2616005)(5660300002)(16576012)(26005)(44832011)(66476007)(8676002)(66556008)(31696002)(31686004)(2906002)(4326008)(478600001)(52116002)(6486002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?UTgvN3RtZEdzN3V5RHVkd0tKRU5pTFp1RU5MT3ZkRmJQdWtEbmdBcDc3YjQy?= =?utf-8?B?RVpIRUlHODdCakJSeHQ5N3RkeW54cWFxL1dFeTdhV0EreW9EclhCYWFUQnY1?= =?utf-8?B?cXcrb0VpaWJCQnBYclIxbjJUbXA1UlpwS3ZPaXNqbGY3UElYTk1kK1EvUFE4?= =?utf-8?B?SzE5RHVZTjIya0xBZENBUElqUTdPNVYwbXkwNkNlaWpBaEk1QnNoNmtjMHpl?= =?utf-8?B?RmQvcjZNYnV5QkxJamFXZFNtcXBlMUowUUZ2b2tTcXp2LzRtUU5tN08vZnlv?= =?utf-8?B?dmFqZjJvcDFyME9BM0lDK3RNY2JJZ1M0YUZ4YUFjRCs4WWpDRVB6aFhhcXZ2?= =?utf-8?B?MGF3TnduNkVDVVNXbzFBSUVRNm81dEhZdFBoQzJ6V011eW9IQ1lNSnBabDM3?= =?utf-8?B?MTVuWlY3WXBXdFozZXZ6cTltaDFaVkdtQndHMWVQaWhESWNBSHJXNE1zRWFE?= =?utf-8?B?ZkxoMnZBWkh1eUZraFp4aDBkZ04yb3gxSStUL2t0WkNqZitYVHhLSHc3enl3?= =?utf-8?B?VVh3WjMwUUxHL3NlR2txOWlCajlrNk50NVpTZkdIK05SM1ByOEdLU1BTZGJL?= =?utf-8?B?d3NkaDVaK0plaGg2R1h6RWpvdXZGcFYzL2RhYit0ZWVNVTBCOU9aRWsyOEhv?= =?utf-8?B?WEx6SkdXZU03SFQrb0pWOHFKemV5UFpmeTBjWkRMYVR1Vys1dmF4aWZtSWZX?= =?utf-8?B?Tk0zLy9EZTJtcW9POUhsR3JhR3NkV2ZJMHh3OGNjazRieUszOEViREFJbmNR?= =?utf-8?B?UVZMNGlPdnlhaEsyTDFYcU9Wa3VqdlJ6M0JUbldWQVYrQld2M2ZyM3JUYzRr?= =?utf-8?B?SUF0UnBGZzFOdzlHNjlCS1JnUU9icjZaQXhGTEhhQmtPUldKaEhHdmZ4ZUpE?= =?utf-8?B?YXZIbGVqY21nYS9FalhST0g4NUozbWFTNW5nblpBWGtEV0VmR0QrM3hIRGxj?= =?utf-8?B?K1BGQVArUm1wTjF6VXZ0T1hRaDZReVdyRFE4Y1pBamY1enBTR3g5RTBGNDlH?= =?utf-8?B?WVN4QlBvSUxCajNsZ04yc1BYbktFOS9ndDhzNElLMmlyaUZyNk9hSk1jZ1Zp?= =?utf-8?B?bWpBSHNya09CTGY1Zmd4aHhkcVpHS3BueGRLZTQ0ZDArYXBzNmdQYnNnMXRT?= =?utf-8?B?dlNmVDZyYmRMeWJJaXNWNTJ1dWJzenh1R3c2MUwrMzI3T044QlJpQml4anJ5?= =?utf-8?B?dFBpa3VwZlo1OVdKVmZWbjRQUFdlNnkrV3dyd3hxUjV0S2l2ek1QemcraXdX?= =?utf-8?B?ekorcU92RzFXa1M3S0pydDY1MVdkSDRMdXNSNTNnZVhnMzlLV01TMVBxOGhL?= =?utf-8?B?V0xDeFJDM1pYUXRHZFV0RmlVS1AyVCtMZVhOZkw4cWYvTk95OGIxM2Zhckd4?= =?utf-8?B?WGhabWcxQXYxVmFvSDN1SDB6aW9ZNU9Dc2lsSDFXeGNFRmE4bUhVcDlITU1u?= =?utf-8?B?TjVpMnJ5dHJxVHBDRVBRMEVtT25mcVlETzlNTHJpaTdRUC80SmdWcjRWS3dt?= =?utf-8?B?b1hPQlRDMzJiSXFMenR5Qkl6Q3F2bmNwNG1ZRkhXYmhHcU45YVBtQUNKaVFw?= =?utf-8?B?NHNKWHdPWTFKOUk3NGNSVU9PVm8wTkY3bkU5aldjNmwzOEhDNjlPU3IxZ0E3?= =?utf-8?B?SDNIY2crNFNWcDFIMTU0ODRUbUVwOXZseWc2bm5hYTVQUFpUeEpWUkpoVkNr?= =?utf-8?B?SmhqNEVuUi9zVi9xY3pQMU4zL3I3N2ZEeW40c01KdXduZVg4OXphVVJDb3R5?= =?utf-8?Q?8mb8NGQ1noz6E63FjTn4TxVFGwhEmx9eghUiK/5?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: a92f66a1-2833-4fd0-a129-08d8e40de500 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2021 21:46:00.3365 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: POaH+Ik1IYOsfHjPF0EU8s6Cl4RMDvu0YDBwTNIFtcSIgrcIeVWFQMeu2b8Ac6OrGyViOR8cWZKxGCMdRtNOrrG/GcJn7veeSdlrE1CU5kY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB2402 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/03/2021 21.49, Masahiro Yamada wrote: > On Mon, Mar 1, 2021 at 10:11 AM Nicholas Piggin wrote: > > I tested LD_DEAD_CODE_DATA_ELIMINATION for the latest kernel. > > I added an unused function, this_func_is_unused(), > then built the ppc kernel with LD_DEAD_CODE_DATA_ELIMINATION. > > It remained in vmlinux. > > > masahiro@oscar:~/ref/linux$ echo 'void this_func_is_unused(void) {}' >>> kernel/cpu.c > masahiro@oscar:~/ref/linux$ export > CROSS_COMPILE=/home/masahiro/tools/powerpc-10.1.0/bin/powerpc-linux- > masahiro@oscar:~/ref/linux$ make ARCH=powerpc defconfig > masahiro@oscar:~/ref/linux$ ./scripts/config -e EXPERT > masahiro@oscar:~/ref/linux$ ./scripts/config -e LD_DEAD_CODE_DATA_ELIMINATION > masahiro@oscar:~/ref/linux$ > ~/tools/powerpc-10.1.0/bin/powerpc-linux-nm -n vmlinux | grep > this_func > c000000000170560 T .this_func_is_unused > c000000001d8d560 D this_func_is_unused Dunno, works just fine for my ppc32 target in v4.19 (i.e., the function gets eliminated when enabling LD_DEAD_CODE_DATA_ELIMINATION). But yes, I can reproduce for master ppc64 defconfig. kernel/.cpu.o.cmd says that it wasn't even compiled with -ffunction-sections, nor does .vmlinux.cmd mention --gc-sections. > masahiro@oscar:~/ref/linux$ grep DEAD_CODE_ .config > CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y > CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y Ah, but scripts/config just blindly adds that config option - I don't think ppc64 actually supports this, and CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y automagically vanishes from .config when building. Rasmus