Re: _proxy_pda still makes linking modules fail

From: Andi Kleen
Date: Sun Mar 11 2007 - 20:20:11 EST


Marcin 'Qrczak' Kowalczyk <qrczak@xxxxxxxxxx> 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 <ak@xxxxxxx>

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);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/