aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-10-14 17:26:58 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-10-14 17:26:58 -0400
commit84d69848c97faab0c25aa2667b273404d2e2a64a (patch)
tree594f3fe1b271b5255a1c5281e36f8bf938acd1c0 /arch/m68k
parentd4d24d2d0a7ea3b62efd7336bfc2344e29b36bc5 (diff)
parent590abbdd273304b55824bcb9ea91840ea375575d (diff)
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild updates from Michal Marek: - EXPORT_SYMBOL for asm source by Al Viro. This does bring a regression, because genksyms no longer generates checksums for these symbols (CONFIG_MODVERSIONS). Nick Piggin is working on a patch to fix this. Plus, we are talking about functions like strcpy(), which rarely change prototypes. - Fixes for PPC fallout of the above by Stephen Rothwell and Nick Piggin - fixdep speedup by Alexey Dobriyan. - preparatory work by Nick Piggin to allow architectures to build with -ffunction-sections, -fdata-sections and --gc-sections - CONFIG_THIN_ARCHIVES support by Stephen Rothwell - fix for filenames with colons in the initramfs source by me. * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (22 commits) initramfs: Escape colons in depfile ppc: there is no clear_pages to export powerpc/64: whitelist unresolved modversions CRCs kbuild: -ffunction-sections fix for archs with conflicting sections kbuild: add arch specific post-link Makefile kbuild: allow archs to select link dead code/data elimination kbuild: allow architectures to use thin archives instead of ld -r kbuild: Regenerate genksyms lexer kbuild: genksyms fix for typeof handling fixdep: faster CONFIG_ search ia64: move exports to definitions sparc32: debride memcpy.S a bit [sparc] unify 32bit and 64bit string.h sparc: move exports to definitions ppc: move exports to definitions arm: move exports to definitions s390: move exports to definitions m68k: move exports to definitions alpha: move exports to actual definitions x86: move exports to actual definitions ...
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/include/asm/export.h3
-rw-r--r--arch/m68k/kernel/Makefile2
-rw-r--r--arch/m68k/kernel/m68k_ksyms.c32
-rw-r--r--arch/m68k/lib/ashldi3.c4
-rw-r--r--arch/m68k/lib/ashrdi3.c4
-rw-r--r--arch/m68k/lib/divsi3.S3
-rw-r--r--arch/m68k/lib/lshrdi3.c4
-rw-r--r--arch/m68k/lib/modsi3.S3
-rw-r--r--arch/m68k/lib/muldi3.c4
-rw-r--r--arch/m68k/lib/mulsi3.S4
-rw-r--r--arch/m68k/lib/udivsi3.S4
-rw-r--r--arch/m68k/lib/umodsi3.S4
12 files changed, 32 insertions, 39 deletions
diff --git a/arch/m68k/include/asm/export.h b/arch/m68k/include/asm/export.h
new file mode 100644
index 000000000000..0af20f48bd07
--- /dev/null
+++ b/arch/m68k/include/asm/export.h
@@ -0,0 +1,3 @@
1#define KSYM_ALIGN 2
2#define KCRC_ALIGN 2
3#include <asm-generic/export.h>
diff --git a/arch/m68k/kernel/Makefile b/arch/m68k/kernel/Makefile
index 8a1c4d3f91c8..74c898ced8cc 100644
--- a/arch/m68k/kernel/Makefile
+++ b/arch/m68k/kernel/Makefile
@@ -13,7 +13,7 @@ extra-$(CONFIG_SUN3X) := head.o
13extra-$(CONFIG_SUN3) := sun3-head.o 13extra-$(CONFIG_SUN3) := sun3-head.o
14extra-y += vmlinux.lds 14extra-y += vmlinux.lds
15 15
16obj-y := entry.o irq.o m68k_ksyms.o module.o process.o ptrace.o 16obj-y := entry.o irq.o module.o process.o ptrace.o
17obj-y += setup.o signal.o sys_m68k.o syscalltable.o time.o traps.o 17obj-y += setup.o signal.o sys_m68k.o syscalltable.o time.o traps.o
18 18
19obj-$(CONFIG_MMU_MOTOROLA) += ints.o vectors.o 19obj-$(CONFIG_MMU_MOTOROLA) += ints.o vectors.o
diff --git a/arch/m68k/kernel/m68k_ksyms.c b/arch/m68k/kernel/m68k_ksyms.c
deleted file mode 100644
index 774c1bd59c36..000000000000
--- a/arch/m68k/kernel/m68k_ksyms.c
+++ /dev/null
@@ -1,32 +0,0 @@
1#include <linux/module.h>
2
3asmlinkage long long __ashldi3 (long long, int);
4asmlinkage long long __ashrdi3 (long long, int);
5asmlinkage long long __lshrdi3 (long long, int);
6asmlinkage long long __muldi3 (long long, long long);
7
8/* The following are special because they're not called
9 explicitly (the C compiler generates them). Fortunately,
10 their interface isn't gonna change any time soon now, so
11 it's OK to leave it out of version control. */
12EXPORT_SYMBOL(__ashldi3);
13EXPORT_SYMBOL(__ashrdi3);
14EXPORT_SYMBOL(__lshrdi3);
15EXPORT_SYMBOL(__muldi3);
16
17#if defined(CONFIG_CPU_HAS_NO_MULDIV64)
18/*
19 * Simpler 68k and ColdFire parts also need a few other gcc functions.
20 */
21extern long long __divsi3(long long, long long);
22extern long long __modsi3(long long, long long);
23extern long long __mulsi3(long long, long long);
24extern long long __udivsi3(long long, long long);
25extern long long __umodsi3(long long, long long);
26
27EXPORT_SYMBOL(__divsi3);
28EXPORT_SYMBOL(__modsi3);
29EXPORT_SYMBOL(__mulsi3);
30EXPORT_SYMBOL(__udivsi3);
31EXPORT_SYMBOL(__umodsi3);
32#endif
diff --git a/arch/m68k/lib/ashldi3.c b/arch/m68k/lib/ashldi3.c
index 37234c2df47f..8dffd36ec4f2 100644
--- a/arch/m68k/lib/ashldi3.c
+++ b/arch/m68k/lib/ashldi3.c
@@ -13,6 +13,9 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details. */ 14GNU General Public License for more details. */
15 15
16#include <linux/compiler.h>
17#include <linux/export.h>
18
16#define BITS_PER_UNIT 8 19#define BITS_PER_UNIT 8
17 20
18typedef int SItype __attribute__ ((mode (SI))); 21typedef int SItype __attribute__ ((mode (SI)));
@@ -55,3 +58,4 @@ __ashldi3 (DItype u, word_type b)
55 58
56 return w.ll; 59 return w.ll;
57} 60}
61EXPORT_SYMBOL(__ashldi3);
diff --git a/arch/m68k/lib/ashrdi3.c b/arch/m68k/lib/ashrdi3.c
index 1d59345f36c6..e6565a3ee2c3 100644
--- a/arch/m68k/lib/ashrdi3.c
+++ b/arch/m68k/lib/ashrdi3.c
@@ -13,6 +13,9 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details. */ 14GNU General Public License for more details. */
15 15
16#include <linux/compiler.h>
17#include <linux/export.h>
18
16#define BITS_PER_UNIT 8 19#define BITS_PER_UNIT 8
17 20
18typedef int SItype __attribute__ ((mode (SI))); 21typedef int SItype __attribute__ ((mode (SI)));
@@ -56,3 +59,4 @@ __ashrdi3 (DItype u, word_type b)
56 59
57 return w.ll; 60 return w.ll;
58} 61}
62EXPORT_SYMBOL(__ashrdi3);
diff --git a/arch/m68k/lib/divsi3.S b/arch/m68k/lib/divsi3.S
index 2c0ec85ac661..3a2143f51631 100644
--- a/arch/m68k/lib/divsi3.S
+++ b/arch/m68k/lib/divsi3.S
@@ -33,6 +33,8 @@ General Public License for more details. */
33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992 33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992
34*/ 34*/
35 35
36#include <asm/export.h>
37
36/* These are predefined by new versions of GNU cpp. */ 38/* These are predefined by new versions of GNU cpp. */
37 39
38#ifndef __USER_LABEL_PREFIX__ 40#ifndef __USER_LABEL_PREFIX__
@@ -118,3 +120,4 @@ L2: movel d1, sp@-
118L3: movel sp@+, d2 120L3: movel sp@+, d2
119 rts 121 rts
120 122
123 EXPORT_SYMBOL(__divsi3)
diff --git a/arch/m68k/lib/lshrdi3.c b/arch/m68k/lib/lshrdi3.c
index 49e1ec8f2cc2..039779737c7d 100644
--- a/arch/m68k/lib/lshrdi3.c
+++ b/arch/m68k/lib/lshrdi3.c
@@ -13,6 +13,9 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details. */ 14GNU General Public License for more details. */
15 15
16#include <linux/compiler.h>
17#include <linux/export.h>
18
16#define BITS_PER_UNIT 8 19#define BITS_PER_UNIT 8
17 20
18typedef int SItype __attribute__ ((mode (SI))); 21typedef int SItype __attribute__ ((mode (SI)));
@@ -55,3 +58,4 @@ __lshrdi3 (DItype u, word_type b)
55 58
56 return w.ll; 59 return w.ll;
57} 60}
61EXPORT_SYMBOL(__lshrdi3);
diff --git a/arch/m68k/lib/modsi3.S b/arch/m68k/lib/modsi3.S
index 1d9e0efdf31d..1c967649a4e0 100644
--- a/arch/m68k/lib/modsi3.S
+++ b/arch/m68k/lib/modsi3.S
@@ -33,6 +33,8 @@ General Public License for more details. */
33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992 33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992
34*/ 34*/
35 35
36#include <asm/export.h>
37
36/* These are predefined by new versions of GNU cpp. */ 38/* These are predefined by new versions of GNU cpp. */
37 39
38#ifndef __USER_LABEL_PREFIX__ 40#ifndef __USER_LABEL_PREFIX__
@@ -106,3 +108,4 @@ SYM (__modsi3):
106 movel d1, d0 108 movel d1, d0
107 rts 109 rts
108 110
111 EXPORT_SYMBOL(__modsi3)
diff --git a/arch/m68k/lib/muldi3.c b/arch/m68k/lib/muldi3.c
index 9006d15b8721..6459af5b2af0 100644
--- a/arch/m68k/lib/muldi3.c
+++ b/arch/m68k/lib/muldi3.c
@@ -14,6 +14,9 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details. */ 15GNU General Public License for more details. */
16 16
17#include <linux/compiler.h>
18#include <linux/export.h>
19
17#ifdef CONFIG_CPU_HAS_NO_MULDIV64 20#ifdef CONFIG_CPU_HAS_NO_MULDIV64
18 21
19#define SI_TYPE_SIZE 32 22#define SI_TYPE_SIZE 32
@@ -90,3 +93,4 @@ __muldi3 (DItype u, DItype v)
90 93
91 return w.ll; 94 return w.ll;
92} 95}
96EXPORT_SYMBOL(__muldi3);
diff --git a/arch/m68k/lib/mulsi3.S b/arch/m68k/lib/mulsi3.S
index c39ad4e738e9..855675e69a8a 100644
--- a/arch/m68k/lib/mulsi3.S
+++ b/arch/m68k/lib/mulsi3.S
@@ -32,7 +32,7 @@ General Public License for more details. */
32 Some of this code comes from MINIX, via the folks at ericsson. 32 Some of this code comes from MINIX, via the folks at ericsson.
33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992 33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992
34*/ 34*/
35 35#include <asm/export.h>
36/* These are predefined by new versions of GNU cpp. */ 36/* These are predefined by new versions of GNU cpp. */
37 37
38#ifndef __USER_LABEL_PREFIX__ 38#ifndef __USER_LABEL_PREFIX__
@@ -102,4 +102,4 @@ SYM (__mulsi3):
102 addl d1, d0 102 addl d1, d0
103 103
104 rts 104 rts
105 105 EXPORT_SYMBOL(__mulsi3)
diff --git a/arch/m68k/lib/udivsi3.S b/arch/m68k/lib/udivsi3.S
index 35a5446572a5..78440ae513bf 100644
--- a/arch/m68k/lib/udivsi3.S
+++ b/arch/m68k/lib/udivsi3.S
@@ -32,7 +32,7 @@ General Public License for more details. */
32 Some of this code comes from MINIX, via the folks at ericsson. 32 Some of this code comes from MINIX, via the folks at ericsson.
33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992 33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992
34*/ 34*/
35 35#include <asm/export.h>
36/* These are predefined by new versions of GNU cpp. */ 36/* These are predefined by new versions of GNU cpp. */
37 37
38#ifndef __USER_LABEL_PREFIX__ 38#ifndef __USER_LABEL_PREFIX__
@@ -154,4 +154,4 @@ L2: subql IMM (1),d4
154 unlk a6 | and return 154 unlk a6 | and return
155 rts 155 rts
156#endif /* __mcf5200__ || __mcoldfire__ */ 156#endif /* __mcf5200__ || __mcoldfire__ */
157 157 EXPORT_SYMBOL(__udivsi3)
diff --git a/arch/m68k/lib/umodsi3.S b/arch/m68k/lib/umodsi3.S
index 099da514a8fd..b6fd11f58948 100644
--- a/arch/m68k/lib/umodsi3.S
+++ b/arch/m68k/lib/umodsi3.S
@@ -32,7 +32,7 @@ General Public License for more details. */
32 Some of this code comes from MINIX, via the folks at ericsson. 32 Some of this code comes from MINIX, via the folks at ericsson.
33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992 33 D. V. Henkel-Wallace (gumby@cygnus.com) Fete Bastille, 1992
34*/ 34*/
35 35#include <asm/export.h>
36/* These are predefined by new versions of GNU cpp. */ 36/* These are predefined by new versions of GNU cpp. */
37 37
38#ifndef __USER_LABEL_PREFIX__ 38#ifndef __USER_LABEL_PREFIX__
@@ -105,4 +105,4 @@ SYM (__umodsi3):
105 subl d0, d1 /* d1 = a - (a/b)*b */ 105 subl d0, d1 /* d1 = a - (a/b)*b */
106 movel d1, d0 106 movel d1, d0
107 rts 107 rts
108 108 EXPORT_SYMBOL(__umodsi3)