From ak@suse.de Mon Mar 12 01:31:09 2007 Return-path: Envelope-to: qrczak@qrnik.knm.org.pl Delivery-date: Mon, 12 Mar 2007 01:31:09 +0100 Received: from hell.pl ([193.219.28.162]:37749 ident=Debian-exim) by qrnik.knm.org.pl with esmtp (Exim 4.66) (envelope-from ) id 1HQYRQ-0002bu-WF for qrczak@qrnik.knm.org.pl; Mon, 12 Mar 2007 01:31:09 +0100 Received: from cantor2.suse.de ([195.135.220.15] helo=mx2.suse.de) by hell.pl with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1HQYRQ-0004gE-M9 for qrczak@knm.org.pl; Mon, 12 Mar 2007 01:31:08 +0100 Received: from Relay2.suse.de (mail2.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx2.suse.de (Postfix) with ESMTP id 93807215E0; Mon, 12 Mar 2007 01:19:47 +0100 (CET) Sender: ak@suse.de To: Marcin 'Qrczak' Kowalczyk Cc: linux-kernel@vger.kernel.org Subject: Re: _proxy_pda still makes linking modules fail References: <1173315479.12472.9.camel@qrnik> From: Andi Kleen Date: 12 Mar 2007 02:19:05 +0100 In-Reply-To: <1173315479.12472.9.camel@qrnik> Message-ID: Lines: 39 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Evolution-Source: mbox:///var/mail/qrczak Content-Transfer-Encoding: 8bit Marcin 'Qrczak' Kowalczyk writes: > > I've heard that it now builds with gcc-4.2.0 snapshots. This is strange: > if the problem has been fixed for gcc-4.2.0, why doesn't it work for > gcc-4.1.2? arch/i386/kernel/vmlinux.lds.S does contain _proxy_pda = 0; Hmm, it probably needs a EXPORT_SYMBOL. The previous change only fixed the in kernel build. Does it work with this patch? -Andi Export _proxy_pda for gcc 4.2 The symbol is not actually used, but the compiler unforunately generates a (unused) reference to it. This can happen even in modules. So export it. Signed-off-by: Andi Kleen Index: linux/arch/i386/kernel/i386_ksyms.c =================================================================== --- linux.orig/arch/i386/kernel/i386_ksyms.c +++ linux/arch/i386/kernel/i386_ksyms.c @@ -28,3 +28,5 @@ EXPORT_SYMBOL(__read_lock_failed); #endif EXPORT_SYMBOL(csum_partial); + +EXPORT_SYMBOL(_proxy_pda); Index: linux/arch/x86_64/kernel/x8664_ksyms.c =================================================================== --- linux.orig/arch/x86_64/kernel/x8664_ksyms.c +++ linux/arch/x86_64/kernel/x8664_ksyms.c @@ -61,3 +61,4 @@ EXPORT_SYMBOL(empty_zero_page); EXPORT_SYMBOL(init_level4_pgt); EXPORT_SYMBOL(load_gs_index); +EXPORT_SYMBOL(_proxy_pda);