[SPARC]: Fix weak aliases

sparc_ksyms.c used to declare weak alias to several gcc intrinsics. It
doesn't work with gcc4 anymore - it wants a declaration for the thing
we are aliasing to and that's not going to happen for something like
.mul, etc. Replaced with direct injection of weak alias on the assembler
level - .weak <alias> followed by <alias> = <aliased>; that works on all
gcc versions.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by Al Viro and committed by David S. Miller 83c4e437 a3f99858

+3 -2
+3 -2
arch/sparc/kernel/sparc_ksyms.c
··· 98 * The module references will be fixed up by module_frob_arch_sections. 99 */ 100 #define DOT_ALIAS2(__ret, __x, __arg1, __arg2) \ 101 - extern __ret __x(__arg1, __arg2) \ 102 - __attribute__((weak, alias("." # __x))); 103 104 DOT_ALIAS2(int, div, int, int) 105 DOT_ALIAS2(int, mul, int, int)
··· 98 * The module references will be fixed up by module_frob_arch_sections. 99 */ 100 #define DOT_ALIAS2(__ret, __x, __arg1, __arg2) \ 101 + extern __ret __x(__arg1, __arg2); \ 102 + asm(".weak " #__x);\ 103 + asm(#__x "=." #__x); 104 105 DOT_ALIAS2(int, div, int, int) 106 DOT_ALIAS2(int, mul, int, int)