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/ia64/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/ia64/kernel')
-rw-r--r-- | arch/ia64/kernel/entry.S | 3 | ||||
-rw-r--r-- | arch/ia64/kernel/esi_stub.S | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/head.S | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/ia64_ksyms.c | 94 | ||||
-rw-r--r-- | arch/ia64/kernel/ivt.S | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/pal.S | 7 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 4 |
7 files changed, 22 insertions, 92 deletions
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index cfaa7b25084c..6f27a663177c 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -48,6 +48,7 @@ | |||
48 | #include <asm/thread_info.h> | 48 | #include <asm/thread_info.h> |
49 | #include <asm/unistd.h> | 49 | #include <asm/unistd.h> |
50 | #include <asm/ftrace.h> | 50 | #include <asm/ftrace.h> |
51 | #include <asm/export.h> | ||
51 | 52 | ||
52 | #include "minstate.h" | 53 | #include "minstate.h" |
53 | 54 | ||
@@ -1345,12 +1346,14 @@ GLOBAL_ENTRY(unw_init_running) | |||
1345 | mov rp=loc0 | 1346 | mov rp=loc0 |
1346 | br.ret.sptk.many rp | 1347 | br.ret.sptk.many rp |
1347 | END(unw_init_running) | 1348 | END(unw_init_running) |
1349 | EXPORT_SYMBOL(unw_init_running) | ||
1348 | 1350 | ||
1349 | #ifdef CONFIG_FUNCTION_TRACER | 1351 | #ifdef CONFIG_FUNCTION_TRACER |
1350 | #ifdef CONFIG_DYNAMIC_FTRACE | 1352 | #ifdef CONFIG_DYNAMIC_FTRACE |
1351 | GLOBAL_ENTRY(_mcount) | 1353 | GLOBAL_ENTRY(_mcount) |
1352 | br ftrace_stub | 1354 | br ftrace_stub |
1353 | END(_mcount) | 1355 | END(_mcount) |
1356 | EXPORT_SYMBOL(_mcount) | ||
1354 | 1357 | ||
1355 | .here: | 1358 | .here: |
1356 | br.ret.sptk.many b0 | 1359 | br.ret.sptk.many b0 |
diff --git a/arch/ia64/kernel/esi_stub.S b/arch/ia64/kernel/esi_stub.S index 6b3d6c1f99b6..2c369bf77c4b 100644 --- a/arch/ia64/kernel/esi_stub.S +++ b/arch/ia64/kernel/esi_stub.S | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include <asm/processor.h> | 36 | #include <asm/processor.h> |
37 | #include <asm/asmmacro.h> | 37 | #include <asm/asmmacro.h> |
38 | #include <asm/export.h> | ||
38 | 39 | ||
39 | /* | 40 | /* |
40 | * Inputs: | 41 | * Inputs: |
@@ -94,3 +95,4 @@ GLOBAL_ENTRY(esi_call_phys) | |||
94 | mov gp=loc2 | 95 | mov gp=loc2 |
95 | br.ret.sptk.many rp | 96 | br.ret.sptk.many rp |
96 | END(esi_call_phys) | 97 | END(esi_call_phys) |
98 | EXPORT_SYMBOL_GPL(esi_call_phys) | ||
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index bb748c596443..c9b5e942f671 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <asm/mca_asm.h> | 32 | #include <asm/mca_asm.h> |
33 | #include <linux/init.h> | 33 | #include <linux/init.h> |
34 | #include <linux/linkage.h> | 34 | #include <linux/linkage.h> |
35 | #include <asm/export.h> | ||
35 | 36 | ||
36 | #ifdef CONFIG_HOTPLUG_CPU | 37 | #ifdef CONFIG_HOTPLUG_CPU |
37 | #define SAL_PSR_BITS_TO_SET \ | 38 | #define SAL_PSR_BITS_TO_SET \ |
@@ -168,6 +169,7 @@ RestRR: \ | |||
168 | __PAGE_ALIGNED_DATA | 169 | __PAGE_ALIGNED_DATA |
169 | 170 | ||
170 | .global empty_zero_page | 171 | .global empty_zero_page |
172 | EXPORT_DATA_SYMBOL_GPL(empty_zero_page) | ||
171 | empty_zero_page: | 173 | empty_zero_page: |
172 | .skip PAGE_SIZE | 174 | .skip PAGE_SIZE |
173 | 175 | ||
diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c index 096731049538..d111248af719 100644 --- a/arch/ia64/kernel/ia64_ksyms.c +++ b/arch/ia64/kernel/ia64_ksyms.c | |||
@@ -1,101 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * Architecture-specific kernel symbols | 2 | * Architecture-specific kernel symbols |
3 | * | ||
4 | * Don't put any exports here unless it's defined in an assembler file. | ||
5 | * All other exports should be put directly after the definition. | ||
6 | */ | 3 | */ |
7 | 4 | ||
8 | #include <linux/module.h> | ||
9 | |||
10 | #include <linux/string.h> | ||
11 | EXPORT_SYMBOL(memset); | ||
12 | EXPORT_SYMBOL(memcpy); | ||
13 | EXPORT_SYMBOL(strlen); | ||
14 | |||
15 | #include <asm/pgtable.h> | ||
16 | EXPORT_SYMBOL_GPL(empty_zero_page); | ||
17 | |||
18 | #include <asm/checksum.h> | ||
19 | EXPORT_SYMBOL(ip_fast_csum); /* hand-coded assembly */ | ||
20 | EXPORT_SYMBOL(csum_ipv6_magic); | ||
21 | |||
22 | #include <asm/page.h> | ||
23 | EXPORT_SYMBOL(clear_page); | ||
24 | EXPORT_SYMBOL(copy_page); | ||
25 | |||
26 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 5 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
6 | #include <linux/compiler.h> | ||
7 | #include <linux/export.h> | ||
27 | #include <linux/bootmem.h> | 8 | #include <linux/bootmem.h> |
28 | EXPORT_SYMBOL(min_low_pfn); /* defined by bootmem.c, but not exported by generic code */ | 9 | EXPORT_SYMBOL(min_low_pfn); /* defined by bootmem.c, but not exported by generic code */ |
29 | EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic code */ | 10 | EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic code */ |
30 | #endif | 11 | #endif |
31 | |||
32 | #include <asm/processor.h> | ||
33 | EXPORT_SYMBOL(ia64_cpu_info); | ||
34 | #ifdef CONFIG_SMP | ||
35 | EXPORT_SYMBOL(local_per_cpu_offset); | ||
36 | #endif | ||
37 | |||
38 | #include <asm/uaccess.h> | ||
39 | EXPORT_SYMBOL(__copy_user); | ||
40 | EXPORT_SYMBOL(__do_clear_user); | ||
41 | EXPORT_SYMBOL(__strlen_user); | ||
42 | EXPORT_SYMBOL(__strncpy_from_user); | ||
43 | EXPORT_SYMBOL(__strnlen_user); | ||
44 | |||
45 | /* from arch/ia64/lib */ | ||
46 | extern void __divsi3(void); | ||
47 | extern void __udivsi3(void); | ||
48 | extern void __modsi3(void); | ||
49 | extern void __umodsi3(void); | ||
50 | extern void __divdi3(void); | ||
51 | extern void __udivdi3(void); | ||
52 | extern void __moddi3(void); | ||
53 | extern void __umoddi3(void); | ||
54 | |||
55 | EXPORT_SYMBOL(__divsi3); | ||
56 | EXPORT_SYMBOL(__udivsi3); | ||
57 | EXPORT_SYMBOL(__modsi3); | ||
58 | EXPORT_SYMBOL(__umodsi3); | ||
59 | EXPORT_SYMBOL(__divdi3); | ||
60 | EXPORT_SYMBOL(__udivdi3); | ||
61 | EXPORT_SYMBOL(__moddi3); | ||
62 | EXPORT_SYMBOL(__umoddi3); | ||
63 | |||
64 | #if defined(CONFIG_MD_RAID456) || defined(CONFIG_MD_RAID456_MODULE) | ||
65 | extern void xor_ia64_2(void); | ||
66 | extern void xor_ia64_3(void); | ||
67 | extern void xor_ia64_4(void); | ||
68 | extern void xor_ia64_5(void); | ||
69 | |||
70 | EXPORT_SYMBOL(xor_ia64_2); | ||
71 | EXPORT_SYMBOL(xor_ia64_3); | ||
72 | EXPORT_SYMBOL(xor_ia64_4); | ||
73 | EXPORT_SYMBOL(xor_ia64_5); | ||
74 | #endif | ||
75 | |||
76 | #include <asm/pal.h> | ||
77 | EXPORT_SYMBOL(ia64_pal_call_phys_stacked); | ||
78 | EXPORT_SYMBOL(ia64_pal_call_phys_static); | ||
79 | EXPORT_SYMBOL(ia64_pal_call_stacked); | ||
80 | EXPORT_SYMBOL(ia64_pal_call_static); | ||
81 | EXPORT_SYMBOL(ia64_load_scratch_fpregs); | ||
82 | EXPORT_SYMBOL(ia64_save_scratch_fpregs); | ||
83 | |||
84 | #include <asm/unwind.h> | ||
85 | EXPORT_SYMBOL(unw_init_running); | ||
86 | |||
87 | #if defined(CONFIG_IA64_ESI) || defined(CONFIG_IA64_ESI_MODULE) | ||
88 | extern void esi_call_phys (void); | ||
89 | EXPORT_SYMBOL_GPL(esi_call_phys); | ||
90 | #endif | ||
91 | extern char ia64_ivt[]; | ||
92 | EXPORT_SYMBOL(ia64_ivt); | ||
93 | |||
94 | #include <asm/ftrace.h> | ||
95 | #ifdef CONFIG_FUNCTION_TRACER | ||
96 | /* mcount is defined in assembly */ | ||
97 | EXPORT_SYMBOL(_mcount); | ||
98 | #endif | ||
99 | |||
100 | #include <asm/cacheflush.h> | ||
101 | EXPORT_SYMBOL_GPL(flush_icache_range); | ||
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S index b1c3cfc93e71..44a103a5de2b 100644 --- a/arch/ia64/kernel/ivt.S +++ b/arch/ia64/kernel/ivt.S | |||
@@ -57,6 +57,7 @@ | |||
57 | #include <asm/thread_info.h> | 57 | #include <asm/thread_info.h> |
58 | #include <asm/unistd.h> | 58 | #include <asm/unistd.h> |
59 | #include <asm/errno.h> | 59 | #include <asm/errno.h> |
60 | #include <asm/export.h> | ||
60 | 61 | ||
61 | #if 0 | 62 | #if 0 |
62 | # define PSR_DEFAULT_BITS psr.ac | 63 | # define PSR_DEFAULT_BITS psr.ac |
@@ -85,6 +86,7 @@ | |||
85 | 86 | ||
86 | .align 32768 // align on 32KB boundary | 87 | .align 32768 // align on 32KB boundary |
87 | .global ia64_ivt | 88 | .global ia64_ivt |
89 | EXPORT_DATA_SYMBOL(ia64_ivt) | ||
88 | ia64_ivt: | 90 | ia64_ivt: |
89 | ///////////////////////////////////////////////////////////////////////////////////////// | 91 | ///////////////////////////////////////////////////////////////////////////////////////// |
90 | // 0x0000 Entry 0 (size 64 bundles) VHPT Translation (8,20,47) | 92 | // 0x0000 Entry 0 (size 64 bundles) VHPT Translation (8,20,47) |
diff --git a/arch/ia64/kernel/pal.S b/arch/ia64/kernel/pal.S index 0b533441c3c9..94fb2e395498 100644 --- a/arch/ia64/kernel/pal.S +++ b/arch/ia64/kernel/pal.S | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | #include <asm/asmmacro.h> | 15 | #include <asm/asmmacro.h> |
16 | #include <asm/processor.h> | 16 | #include <asm/processor.h> |
17 | #include <asm/export.h> | ||
17 | 18 | ||
18 | .data | 19 | .data |
19 | pal_entry_point: | 20 | pal_entry_point: |
@@ -87,6 +88,7 @@ GLOBAL_ENTRY(ia64_pal_call_static) | |||
87 | srlz.d // seralize restoration of psr.l | 88 | srlz.d // seralize restoration of psr.l |
88 | br.ret.sptk.many b0 | 89 | br.ret.sptk.many b0 |
89 | END(ia64_pal_call_static) | 90 | END(ia64_pal_call_static) |
91 | EXPORT_SYMBOL(ia64_pal_call_static) | ||
90 | 92 | ||
91 | /* | 93 | /* |
92 | * Make a PAL call using the stacked registers calling convention. | 94 | * Make a PAL call using the stacked registers calling convention. |
@@ -122,6 +124,7 @@ GLOBAL_ENTRY(ia64_pal_call_stacked) | |||
122 | srlz.d // serialize restoration of psr.l | 124 | srlz.d // serialize restoration of psr.l |
123 | br.ret.sptk.many b0 | 125 | br.ret.sptk.many b0 |
124 | END(ia64_pal_call_stacked) | 126 | END(ia64_pal_call_stacked) |
127 | EXPORT_SYMBOL(ia64_pal_call_stacked) | ||
125 | 128 | ||
126 | /* | 129 | /* |
127 | * Make a physical mode PAL call using the static registers calling convention. | 130 | * Make a physical mode PAL call using the static registers calling convention. |
@@ -193,6 +196,7 @@ GLOBAL_ENTRY(ia64_pal_call_phys_static) | |||
193 | srlz.d // seralize restoration of psr.l | 196 | srlz.d // seralize restoration of psr.l |
194 | br.ret.sptk.many b0 | 197 | br.ret.sptk.many b0 |
195 | END(ia64_pal_call_phys_static) | 198 | END(ia64_pal_call_phys_static) |
199 | EXPORT_SYMBOL(ia64_pal_call_phys_static) | ||
196 | 200 | ||
197 | /* | 201 | /* |
198 | * Make a PAL call using the stacked registers in physical mode. | 202 | * Make a PAL call using the stacked registers in physical mode. |
@@ -250,6 +254,7 @@ GLOBAL_ENTRY(ia64_pal_call_phys_stacked) | |||
250 | srlz.d // seralize restoration of psr.l | 254 | srlz.d // seralize restoration of psr.l |
251 | br.ret.sptk.many b0 | 255 | br.ret.sptk.many b0 |
252 | END(ia64_pal_call_phys_stacked) | 256 | END(ia64_pal_call_phys_stacked) |
257 | EXPORT_SYMBOL(ia64_pal_call_phys_stacked) | ||
253 | 258 | ||
254 | /* | 259 | /* |
255 | * Save scratch fp scratch regs which aren't saved in pt_regs already | 260 | * Save scratch fp scratch regs which aren't saved in pt_regs already |
@@ -275,6 +280,7 @@ GLOBAL_ENTRY(ia64_save_scratch_fpregs) | |||
275 | stf.spill [r2] = f15,32 | 280 | stf.spill [r2] = f15,32 |
276 | br.ret.sptk.many rp | 281 | br.ret.sptk.many rp |
277 | END(ia64_save_scratch_fpregs) | 282 | END(ia64_save_scratch_fpregs) |
283 | EXPORT_SYMBOL(ia64_save_scratch_fpregs) | ||
278 | 284 | ||
279 | /* | 285 | /* |
280 | * Load scratch fp scratch regs (fp10-fp15) | 286 | * Load scratch fp scratch regs (fp10-fp15) |
@@ -296,3 +302,4 @@ GLOBAL_ENTRY(ia64_load_scratch_fpregs) | |||
296 | ldf.fill f15 = [r2],32 | 302 | ldf.fill f15 = [r2],32 |
297 | br.ret.sptk.many rp | 303 | br.ret.sptk.many rp |
298 | END(ia64_load_scratch_fpregs) | 304 | END(ia64_load_scratch_fpregs) |
305 | EXPORT_SYMBOL(ia64_load_scratch_fpregs) | ||
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index afddb3e80a29..7ec7acc844c2 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -71,7 +71,11 @@ EXPORT_SYMBOL(__per_cpu_offset); | |||
71 | #endif | 71 | #endif |
72 | 72 | ||
73 | DEFINE_PER_CPU(struct cpuinfo_ia64, ia64_cpu_info); | 73 | DEFINE_PER_CPU(struct cpuinfo_ia64, ia64_cpu_info); |
74 | EXPORT_SYMBOL(ia64_cpu_info); | ||
74 | DEFINE_PER_CPU(unsigned long, local_per_cpu_offset); | 75 | DEFINE_PER_CPU(unsigned long, local_per_cpu_offset); |
76 | #ifdef CONFIG_SMP | ||
77 | EXPORT_SYMBOL(local_per_cpu_offset); | ||
78 | #endif | ||
75 | unsigned long ia64_cycles_per_usec; | 79 | unsigned long ia64_cycles_per_usec; |
76 | struct ia64_boot_param *ia64_boot_param; | 80 | struct ia64_boot_param *ia64_boot_param; |
77 | struct screen_info screen_info; | 81 | struct screen_info screen_info; |