|
8 | 8 | #include <linux/module.h> |
9 | 9 |
|
10 | 10 | /* libgcc functions, not part of kernel sources */ |
11 | | -extern void __ashldi3(void); |
12 | | -extern void __ashrdi3(void); |
| 11 | + |
| 12 | +#ifndef CONFIG_ISA_ARCV3 |
| 13 | +/* Not required for ARCv3 */ |
13 | 14 | extern void __divsi3(void); |
14 | | -extern void __divsf3(void); |
15 | | -extern void __lshrdi3(void); |
16 | 15 | extern void __modsi3(void); |
17 | | -extern void __muldi3(void); |
18 | | -extern void __ucmpdi2(void); |
19 | 16 | extern void __udivsi3(void); |
20 | 17 | extern void __umodsi3(void); |
| 18 | + |
| 19 | +EXPORT_SYMBOL(__divsi3); |
| 20 | +EXPORT_SYMBOL(__modsi3); |
| 21 | +EXPORT_SYMBOL(__udivsi3); |
| 22 | +EXPORT_SYMBOL(__umodsi3); |
| 23 | +#endif |
| 24 | + |
| 25 | +#ifndef CONFIG_64BIT |
| 26 | +/* Not required for 64-bit */ |
| 27 | +extern void __ashldi3(void); |
| 28 | +extern void __ashrdi3(void); |
| 29 | +extern void __lshrdi3(void); |
21 | 30 | extern void __cmpdi2(void); |
| 31 | +extern void __ucmpdi2(void); |
| 32 | + |
| 33 | +EXPORT_SYMBOL(__ashldi3); |
| 34 | +EXPORT_SYMBOL(__ashrdi3); |
| 35 | +EXPORT_SYMBOL(__lshrdi3); |
| 36 | +EXPORT_SYMBOL(__cmpdi2); |
| 37 | +EXPORT_SYMBOL(__ucmpdi2); |
| 38 | +#endif |
| 39 | + |
| 40 | +extern void __divsf3(void); |
| 41 | +extern void __muldi3(void); |
22 | 42 | extern void __fixunsdfsi(void); |
23 | 43 | extern void __muldf3(void); |
24 | 44 | extern void __divdf3(void); |
25 | 45 | extern void __floatunsidf(void); |
26 | 46 | extern void __floatunsisf(void); |
27 | 47 | extern void __udivdi3(void); |
28 | 48 |
|
29 | | -#ifndef CONFIG_ISA_ARCV3 |
30 | | -/* ARCv3 libgcc is primitive as of now */ |
31 | | -EXPORT_SYMBOL(__ashldi3); |
32 | | -EXPORT_SYMBOL(__ashrdi3); |
33 | | -EXPORT_SYMBOL(__divsi3); |
34 | 49 | EXPORT_SYMBOL(__divsf3); |
35 | | -EXPORT_SYMBOL(__lshrdi3); |
36 | | -EXPORT_SYMBOL(__modsi3); |
37 | | -EXPORT_SYMBOL(__ucmpdi2); |
38 | | -EXPORT_SYMBOL(__udivsi3); |
39 | | -EXPORT_SYMBOL(__umodsi3); |
40 | | -EXPORT_SYMBOL(__cmpdi2); |
| 50 | +EXPORT_SYMBOL(__muldi3); |
41 | 51 | EXPORT_SYMBOL(__fixunsdfsi); |
42 | 52 | EXPORT_SYMBOL(__muldf3); |
43 | 53 | EXPORT_SYMBOL(__divdf3); |
44 | 54 | EXPORT_SYMBOL(__floatunsidf); |
45 | 55 | EXPORT_SYMBOL(__floatunsisf); |
46 | 56 | EXPORT_SYMBOL(__udivdi3); |
47 | | -#endif |
48 | | -EXPORT_SYMBOL(__muldi3); |
49 | 57 |
|
50 | 58 | /* ARC optimised assembler routines */ |
51 | 59 | #ifndef CONFIG_ARC_LACKS_ZOL |
|
0 commit comments