diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-14 17:26:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-10-14 17:26:58 -0400 |
commit | 84d69848c97faab0c25aa2667b273404d2e2a64a (patch) | |
tree | 594f3fe1b271b5255a1c5281e36f8bf938acd1c0 /arch/arm/kernel | |
parent | d4d24d2d0a7ea3b62efd7336bfc2344e29b36bc5 (diff) | |
parent | 590abbdd273304b55824bcb9ea91840ea375575d (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/arm/kernel')
-rw-r--r-- | arch/arm/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/kernel/armksyms.c | 183 | ||||
-rw-r--r-- | arch/arm/kernel/entry-ftrace.S | 3 | ||||
-rw-r--r-- | arch/arm/kernel/head.S | 3 | ||||
-rw-r--r-- | arch/arm/kernel/smccc-call.S | 3 |
5 files changed, 10 insertions, 184 deletions
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index ad325a8c7e1e..68c2c097cffe 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile | |||
@@ -33,7 +33,7 @@ endif | |||
33 | obj-$(CONFIG_CPU_IDLE) += cpuidle.o | 33 | obj-$(CONFIG_CPU_IDLE) += cpuidle.o |
34 | obj-$(CONFIG_ISA_DMA_API) += dma.o | 34 | obj-$(CONFIG_ISA_DMA_API) += dma.o |
35 | obj-$(CONFIG_FIQ) += fiq.o fiqasm.o | 35 | obj-$(CONFIG_FIQ) += fiq.o fiqasm.o |
36 | obj-$(CONFIG_MODULES) += armksyms.o module.o | 36 | obj-$(CONFIG_MODULES) += module.o |
37 | obj-$(CONFIG_ARM_MODULE_PLTS) += module-plts.o | 37 | obj-$(CONFIG_ARM_MODULE_PLTS) += module-plts.o |
38 | obj-$(CONFIG_ISA_DMA) += dma-isa.o | 38 | obj-$(CONFIG_ISA_DMA) += dma-isa.o |
39 | obj-$(CONFIG_PCI) += bios32.o isa.o | 39 | obj-$(CONFIG_PCI) += bios32.o isa.o |
diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c deleted file mode 100644 index 7e45f69a0ddc..000000000000 --- a/arch/arm/kernel/armksyms.c +++ /dev/null | |||
@@ -1,183 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/kernel/armksyms.c | ||
3 | * | ||
4 | * Copyright (C) 2000 Russell King | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | #include <linux/export.h> | ||
11 | #include <linux/sched.h> | ||
12 | #include <linux/string.h> | ||
13 | #include <linux/cryptohash.h> | ||
14 | #include <linux/delay.h> | ||
15 | #include <linux/in6.h> | ||
16 | #include <linux/syscalls.h> | ||
17 | #include <linux/uaccess.h> | ||
18 | #include <linux/io.h> | ||
19 | #include <linux/arm-smccc.h> | ||
20 | |||
21 | #include <asm/checksum.h> | ||
22 | #include <asm/ftrace.h> | ||
23 | |||
24 | /* | ||
25 | * libgcc functions - functions that are used internally by the | ||
26 | * compiler... (prototypes are not correct though, but that | ||
27 | * doesn't really matter since they're not versioned). | ||
28 | */ | ||
29 | extern void __ashldi3(void); | ||
30 | extern void __ashrdi3(void); | ||
31 | extern void __divsi3(void); | ||
32 | extern void __lshrdi3(void); | ||
33 | extern void __modsi3(void); | ||
34 | extern void __muldi3(void); | ||
35 | extern void __ucmpdi2(void); | ||
36 | extern void __udivsi3(void); | ||
37 | extern void __umodsi3(void); | ||
38 | extern void __do_div64(void); | ||
39 | extern void __bswapsi2(void); | ||
40 | extern void __bswapdi2(void); | ||
41 | |||
42 | extern void __aeabi_idiv(void); | ||
43 | extern void __aeabi_idivmod(void); | ||
44 | extern void __aeabi_lasr(void); | ||
45 | extern void __aeabi_llsl(void); | ||
46 | extern void __aeabi_llsr(void); | ||
47 | extern void __aeabi_lmul(void); | ||
48 | extern void __aeabi_uidiv(void); | ||
49 | extern void __aeabi_uidivmod(void); | ||
50 | extern void __aeabi_ulcmp(void); | ||
51 | |||
52 | extern void fpundefinstr(void); | ||
53 | |||
54 | void mmioset(void *, unsigned int, size_t); | ||
55 | void mmiocpy(void *, const void *, size_t); | ||
56 | |||
57 | /* platform dependent support */ | ||
58 | EXPORT_SYMBOL(arm_delay_ops); | ||
59 | |||
60 | /* networking */ | ||
61 | EXPORT_SYMBOL(csum_partial); | ||
62 | EXPORT_SYMBOL(csum_partial_copy_from_user); | ||
63 | EXPORT_SYMBOL(csum_partial_copy_nocheck); | ||
64 | EXPORT_SYMBOL(__csum_ipv6_magic); | ||
65 | |||
66 | /* io */ | ||
67 | #ifndef __raw_readsb | ||
68 | EXPORT_SYMBOL(__raw_readsb); | ||
69 | #endif | ||
70 | #ifndef __raw_readsw | ||
71 | EXPORT_SYMBOL(__raw_readsw); | ||
72 | #endif | ||
73 | #ifndef __raw_readsl | ||
74 | EXPORT_SYMBOL(__raw_readsl); | ||
75 | #endif | ||
76 | #ifndef __raw_writesb | ||
77 | EXPORT_SYMBOL(__raw_writesb); | ||
78 | #endif | ||
79 | #ifndef __raw_writesw | ||
80 | EXPORT_SYMBOL(__raw_writesw); | ||
81 | #endif | ||
82 | #ifndef __raw_writesl | ||
83 | EXPORT_SYMBOL(__raw_writesl); | ||
84 | #endif | ||
85 | |||
86 | /* string / mem functions */ | ||
87 | EXPORT_SYMBOL(strchr); | ||
88 | EXPORT_SYMBOL(strrchr); | ||
89 | EXPORT_SYMBOL(memset); | ||
90 | EXPORT_SYMBOL(memcpy); | ||
91 | EXPORT_SYMBOL(memmove); | ||
92 | EXPORT_SYMBOL(memchr); | ||
93 | EXPORT_SYMBOL(__memzero); | ||
94 | |||
95 | EXPORT_SYMBOL(mmioset); | ||
96 | EXPORT_SYMBOL(mmiocpy); | ||
97 | |||
98 | #ifdef CONFIG_MMU | ||
99 | EXPORT_SYMBOL(copy_page); | ||
100 | |||
101 | EXPORT_SYMBOL(arm_copy_from_user); | ||
102 | EXPORT_SYMBOL(arm_copy_to_user); | ||
103 | EXPORT_SYMBOL(arm_clear_user); | ||
104 | |||
105 | EXPORT_SYMBOL(__get_user_1); | ||
106 | EXPORT_SYMBOL(__get_user_2); | ||
107 | EXPORT_SYMBOL(__get_user_4); | ||
108 | EXPORT_SYMBOL(__get_user_8); | ||
109 | |||
110 | #ifdef __ARMEB__ | ||
111 | EXPORT_SYMBOL(__get_user_64t_1); | ||
112 | EXPORT_SYMBOL(__get_user_64t_2); | ||
113 | EXPORT_SYMBOL(__get_user_64t_4); | ||
114 | EXPORT_SYMBOL(__get_user_32t_8); | ||
115 | #endif | ||
116 | |||
117 | EXPORT_SYMBOL(__put_user_1); | ||
118 | EXPORT_SYMBOL(__put_user_2); | ||
119 | EXPORT_SYMBOL(__put_user_4); | ||
120 | EXPORT_SYMBOL(__put_user_8); | ||
121 | #endif | ||
122 | |||
123 | /* gcc lib functions */ | ||
124 | EXPORT_SYMBOL(__ashldi3); | ||
125 | EXPORT_SYMBOL(__ashrdi3); | ||
126 | EXPORT_SYMBOL(__divsi3); | ||
127 | EXPORT_SYMBOL(__lshrdi3); | ||
128 | EXPORT_SYMBOL(__modsi3); | ||
129 | EXPORT_SYMBOL(__muldi3); | ||
130 | EXPORT_SYMBOL(__ucmpdi2); | ||
131 | EXPORT_SYMBOL(__udivsi3); | ||
132 | EXPORT_SYMBOL(__umodsi3); | ||
133 | EXPORT_SYMBOL(__do_div64); | ||
134 | EXPORT_SYMBOL(__bswapsi2); | ||
135 | EXPORT_SYMBOL(__bswapdi2); | ||
136 | |||
137 | #ifdef CONFIG_AEABI | ||
138 | EXPORT_SYMBOL(__aeabi_idiv); | ||
139 | EXPORT_SYMBOL(__aeabi_idivmod); | ||
140 | EXPORT_SYMBOL(__aeabi_lasr); | ||
141 | EXPORT_SYMBOL(__aeabi_llsl); | ||
142 | EXPORT_SYMBOL(__aeabi_llsr); | ||
143 | EXPORT_SYMBOL(__aeabi_lmul); | ||
144 | EXPORT_SYMBOL(__aeabi_uidiv); | ||
145 | EXPORT_SYMBOL(__aeabi_uidivmod); | ||
146 | EXPORT_SYMBOL(__aeabi_ulcmp); | ||
147 | #endif | ||
148 | |||
149 | /* bitops */ | ||
150 | EXPORT_SYMBOL(_set_bit); | ||
151 | EXPORT_SYMBOL(_test_and_set_bit); | ||
152 | EXPORT_SYMBOL(_clear_bit); | ||
153 | EXPORT_SYMBOL(_test_and_clear_bit); | ||
154 | EXPORT_SYMBOL(_change_bit); | ||
155 | EXPORT_SYMBOL(_test_and_change_bit); | ||
156 | EXPORT_SYMBOL(_find_first_zero_bit_le); | ||
157 | EXPORT_SYMBOL(_find_next_zero_bit_le); | ||
158 | EXPORT_SYMBOL(_find_first_bit_le); | ||
159 | EXPORT_SYMBOL(_find_next_bit_le); | ||
160 | |||
161 | #ifdef __ARMEB__ | ||
162 | EXPORT_SYMBOL(_find_first_zero_bit_be); | ||
163 | EXPORT_SYMBOL(_find_next_zero_bit_be); | ||
164 | EXPORT_SYMBOL(_find_first_bit_be); | ||
165 | EXPORT_SYMBOL(_find_next_bit_be); | ||
166 | #endif | ||
167 | |||
168 | #ifdef CONFIG_FUNCTION_TRACER | ||
169 | #ifdef CONFIG_OLD_MCOUNT | ||
170 | EXPORT_SYMBOL(mcount); | ||
171 | #endif | ||
172 | EXPORT_SYMBOL(__gnu_mcount_nc); | ||
173 | #endif | ||
174 | |||
175 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT | ||
176 | EXPORT_SYMBOL(__pv_phys_pfn_offset); | ||
177 | EXPORT_SYMBOL(__pv_offset); | ||
178 | #endif | ||
179 | |||
180 | #ifdef CONFIG_HAVE_ARM_SMCCC | ||
181 | EXPORT_SYMBOL(arm_smccc_smc); | ||
182 | EXPORT_SYMBOL(arm_smccc_hvc); | ||
183 | #endif | ||
diff --git a/arch/arm/kernel/entry-ftrace.S b/arch/arm/kernel/entry-ftrace.S index c73c4030ca5d..b629d3f11c3d 100644 --- a/arch/arm/kernel/entry-ftrace.S +++ b/arch/arm/kernel/entry-ftrace.S | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <asm/assembler.h> | 7 | #include <asm/assembler.h> |
8 | #include <asm/ftrace.h> | 8 | #include <asm/ftrace.h> |
9 | #include <asm/unwind.h> | 9 | #include <asm/unwind.h> |
10 | #include <asm/export.h> | ||
10 | 11 | ||
11 | #include "entry-header.S" | 12 | #include "entry-header.S" |
12 | 13 | ||
@@ -153,6 +154,7 @@ ENTRY(mcount) | |||
153 | __mcount _old | 154 | __mcount _old |
154 | #endif | 155 | #endif |
155 | ENDPROC(mcount) | 156 | ENDPROC(mcount) |
157 | EXPORT_SYMBOL(mcount) | ||
156 | 158 | ||
157 | #ifdef CONFIG_DYNAMIC_FTRACE | 159 | #ifdef CONFIG_DYNAMIC_FTRACE |
158 | ENTRY(ftrace_caller_old) | 160 | ENTRY(ftrace_caller_old) |
@@ -205,6 +207,7 @@ UNWIND(.fnstart) | |||
205 | #endif | 207 | #endif |
206 | UNWIND(.fnend) | 208 | UNWIND(.fnend) |
207 | ENDPROC(__gnu_mcount_nc) | 209 | ENDPROC(__gnu_mcount_nc) |
210 | EXPORT_SYMBOL(__gnu_mcount_nc) | ||
208 | 211 | ||
209 | #ifdef CONFIG_DYNAMIC_FTRACE | 212 | #ifdef CONFIG_DYNAMIC_FTRACE |
210 | ENTRY(ftrace_caller) | 213 | ENTRY(ftrace_caller) |
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 04286fd9e09c..f41cee4c5746 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <asm/memory.h> | 22 | #include <asm/memory.h> |
23 | #include <asm/thread_info.h> | 23 | #include <asm/thread_info.h> |
24 | #include <asm/pgtable.h> | 24 | #include <asm/pgtable.h> |
25 | #include <asm/export.h> | ||
25 | 26 | ||
26 | #if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING) | 27 | #if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING) |
27 | #include CONFIG_DEBUG_LL_INCLUDE | 28 | #include CONFIG_DEBUG_LL_INCLUDE |
@@ -727,6 +728,8 @@ __pv_phys_pfn_offset: | |||
727 | __pv_offset: | 728 | __pv_offset: |
728 | .quad 0 | 729 | .quad 0 |
729 | .size __pv_offset, . -__pv_offset | 730 | .size __pv_offset, . -__pv_offset |
731 | EXPORT_SYMBOL(__pv_phys_pfn_offset) | ||
732 | EXPORT_SYMBOL(__pv_offset) | ||
730 | #endif | 733 | #endif |
731 | 734 | ||
732 | #include "head-common.S" | 735 | #include "head-common.S" |
diff --git a/arch/arm/kernel/smccc-call.S b/arch/arm/kernel/smccc-call.S index 2e48b674aab1..37669e7e13af 100644 --- a/arch/arm/kernel/smccc-call.S +++ b/arch/arm/kernel/smccc-call.S | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <asm/opcodes-sec.h> | 16 | #include <asm/opcodes-sec.h> |
17 | #include <asm/opcodes-virt.h> | 17 | #include <asm/opcodes-virt.h> |
18 | #include <asm/unwind.h> | 18 | #include <asm/unwind.h> |
19 | #include <asm/export.h> | ||
19 | 20 | ||
20 | /* | 21 | /* |
21 | * Wrap c macros in asm macros to delay expansion until after the | 22 | * Wrap c macros in asm macros to delay expansion until after the |
@@ -51,6 +52,7 @@ UNWIND( .fnend) | |||
51 | ENTRY(arm_smccc_smc) | 52 | ENTRY(arm_smccc_smc) |
52 | SMCCC SMCCC_SMC | 53 | SMCCC SMCCC_SMC |
53 | ENDPROC(arm_smccc_smc) | 54 | ENDPROC(arm_smccc_smc) |
55 | EXPORT_SYMBOL(arm_smccc_smc) | ||
54 | 56 | ||
55 | /* | 57 | /* |
56 | * void smccc_hvc(unsigned long a0, unsigned long a1, unsigned long a2, | 58 | * void smccc_hvc(unsigned long a0, unsigned long a1, unsigned long a2, |
@@ -60,3 +62,4 @@ ENDPROC(arm_smccc_smc) | |||
60 | ENTRY(arm_smccc_hvc) | 62 | ENTRY(arm_smccc_hvc) |
61 | SMCCC SMCCC_HVC | 63 | SMCCC SMCCC_HVC |
62 | ENDPROC(arm_smccc_hvc) | 64 | ENDPROC(arm_smccc_hvc) |
65 | EXPORT_SYMBOL(arm_smccc_hvc) | ||