Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753466AbeABLe6 (ORCPT + 1 other); Tue, 2 Jan 2018 06:34:58 -0500 Received: from mail-pf0-f194.google.com ([209.85.192.194]:36209 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753479AbeABLez (ORCPT ); Tue, 2 Jan 2018 06:34:55 -0500 X-Google-Smtp-Source: ACJfBouwVNfeG5IikSxg99n2jACbBOgpo23BH2+ZPmSAEMDM2f+6uzArONanHTAeqboQknUTrL9pqA== Date: Tue, 2 Jan 2018 11:34:45 +0000 From: Sudip Mukherjee To: Arnd Bergmann Cc: Andrew Morton , Vineet Gupta , Russell King , Jose Abreu , linux-snps-arc@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH] arch: drop duplicate exports of abort() Message-ID: <20180102113417.GA5078@sudip-tp> References: <20180102103311.706364-1-arnd@arndb.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="2/5bycvrmDh4d1IB" Content-Disposition: inline In-Reply-To: <20180102103311.706364-1-arnd@arndb.de> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: --2/5bycvrmDh4d1IB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Arnd, On Tue, Jan 02, 2018 at 11:31:12AM +0100, Arnd Bergmann wrote: > We now have exports in both architecture code in in common code, > which causes a link failure when symbol versioning is eanbled, on > four architectures: > > kernel/exit.o: In function `__crc_abort': > exit.c:(*ABS*+0xc0e2ec8b): multiple definition of `__crc_abort' > > This removes the four architecture specific exports and only > leaves the export next to the __weak symbol. Will it not be better to remove the abort() as they are exactly same like the weak function. That was the original plan we had when this weak function was done. Like in the attached patch.. -- Regards Sudip --2/5bycvrmDh4d1IB Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch diff --git a/arch/arc/kernel/traps.c b/arch/arc/kernel/traps.c index 51a55b0..133a4da 100644 --- a/arch/arc/kernel/traps.c +++ b/arch/arc/kernel/traps.c @@ -169,4 +169,3 @@ void abort(void) { __asm__ __volatile__("trap_s 5\n"); } -EXPORT_SYMBOL(abort); diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index e344bdd..917b425 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -786,15 +786,6 @@ asmlinkage void __div0(void) } EXPORT_SYMBOL(__div0); -void abort(void) -{ - BUG(); - - /* if that doesn't kill us, halt */ - panic("Oops failed to kill thread"); -} -EXPORT_SYMBOL(abort); - void __init trap_init(void) { return; diff --git a/arch/m32r/kernel/traps.c b/arch/m32r/kernel/traps.c index cb79fba..a6f300a 100644 --- a/arch/m32r/kernel/traps.c +++ b/arch/m32r/kernel/traps.c @@ -115,15 +115,6 @@ static void set_eit_vector_entries(void) _flush_cache_copyback_all(); } -void abort(void) -{ - BUG(); - - /* if that doesn't kill us, halt */ - panic("Oops failed to kill thread"); -} -EXPORT_SYMBOL(abort); - void __init trap_init(void) { set_eit_vector_entries(); diff --git a/arch/unicore32/kernel/traps.c b/arch/unicore32/kernel/traps.c index 5f25b39..30d6613 100644 --- a/arch/unicore32/kernel/traps.c +++ b/arch/unicore32/kernel/traps.c @@ -291,15 +291,6 @@ asmlinkage void __div0(void) } EXPORT_SYMBOL(__div0); -void abort(void) -{ - BUG(); - - /* if that doesn't kill us, halt */ - panic("Oops failed to kill thread"); -} -EXPORT_SYMBOL(abort); - void __init trap_init(void) { return; --2/5bycvrmDh4d1IB--