diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-01-17 01:13:41 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-08-07 23:55:50 -0400 |
commit | e007c53397acb5554e226693e3bff54a312ccd96 (patch) | |
tree | 9a0c2fa6fe5518593b6d3d1511e2b2c31360ce98 /arch/ia64/lib | |
parent | fb2e6fdbbdaeb94745712a7b18b628c4349de08f (diff) |
ia64: move exports to definitions
Here we have another kind of deviation from the default case -
a difference between exporting functions and non-functions.
EXPORT_DATA_SYMBOL... is really different from EXPORT_SYMBOL...
on ia64, and we need to use the right one when moving exports
from *.c where C compiler has the required information to
*.S, where we need to supply it manually.
parisc64 will be another one like that.
Tested-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/ia64/lib')
-rw-r--r-- | arch/ia64/lib/clear_page.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/clear_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/copy_page.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/copy_page_mck.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/copy_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/flush.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/idiv32.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/idiv64.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/ip_fast_csum.S | 3 | ||||
-rw-r--r-- | arch/ia64/lib/memcpy.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/memcpy_mck.S | 3 | ||||
-rw-r--r-- | arch/ia64/lib/memset.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/strlen.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/strlen_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/strncpy_from_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/strnlen_user.S | 2 | ||||
-rw-r--r-- | arch/ia64/lib/xor.S | 5 |
17 files changed, 39 insertions, 0 deletions
diff --git a/arch/ia64/lib/clear_page.S b/arch/ia64/lib/clear_page.S index 2d814e7ed191..3cf5b76e587f 100644 --- a/arch/ia64/lib/clear_page.S +++ b/arch/ia64/lib/clear_page.S | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | #include <asm/asmmacro.h> | 12 | #include <asm/asmmacro.h> |
13 | #include <asm/page.h> | 13 | #include <asm/page.h> |
14 | #include <asm/export.h> | ||
14 | 15 | ||
15 | #ifdef CONFIG_ITANIUM | 16 | #ifdef CONFIG_ITANIUM |
16 | # define L3_LINE_SIZE 64 // Itanium L3 line size | 17 | # define L3_LINE_SIZE 64 // Itanium L3 line size |
@@ -74,3 +75,4 @@ GLOBAL_ENTRY(clear_page) | |||
74 | mov ar.lc = saved_lc // restore lc | 75 | mov ar.lc = saved_lc // restore lc |
75 | br.ret.sptk.many rp | 76 | br.ret.sptk.many rp |
76 | END(clear_page) | 77 | END(clear_page) |
78 | EXPORT_SYMBOL(clear_page) | ||
diff --git a/arch/ia64/lib/clear_user.S b/arch/ia64/lib/clear_user.S index eecd8577b209..7b40731ee5d8 100644 --- a/arch/ia64/lib/clear_user.S +++ b/arch/ia64/lib/clear_user.S | |||
@@ -12,6 +12,7 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <asm/asmmacro.h> | 14 | #include <asm/asmmacro.h> |
15 | #include <asm/export.h> | ||
15 | 16 | ||
16 | // | 17 | // |
17 | // arguments | 18 | // arguments |
@@ -207,3 +208,4 @@ GLOBAL_ENTRY(__do_clear_user) | |||
207 | mov ar.lc=saved_lc | 208 | mov ar.lc=saved_lc |
208 | br.ret.sptk.many rp | 209 | br.ret.sptk.many rp |
209 | END(__do_clear_user) | 210 | END(__do_clear_user) |
211 | EXPORT_SYMBOL(__do_clear_user) | ||
diff --git a/arch/ia64/lib/copy_page.S b/arch/ia64/lib/copy_page.S index 127d1d050d78..cbdb9e323ffb 100644 --- a/arch/ia64/lib/copy_page.S +++ b/arch/ia64/lib/copy_page.S | |||
@@ -16,6 +16,7 @@ | |||
16 | */ | 16 | */ |
17 | #include <asm/asmmacro.h> | 17 | #include <asm/asmmacro.h> |
18 | #include <asm/page.h> | 18 | #include <asm/page.h> |
19 | #include <asm/export.h> | ||
19 | 20 | ||
20 | #define PIPE_DEPTH 3 | 21 | #define PIPE_DEPTH 3 |
21 | #define EPI p[PIPE_DEPTH-1] | 22 | #define EPI p[PIPE_DEPTH-1] |
@@ -96,3 +97,4 @@ GLOBAL_ENTRY(copy_page) | |||
96 | mov ar.lc=saved_lc | 97 | mov ar.lc=saved_lc |
97 | br.ret.sptk.many rp | 98 | br.ret.sptk.many rp |
98 | END(copy_page) | 99 | END(copy_page) |
100 | EXPORT_SYMBOL(copy_page) | ||
diff --git a/arch/ia64/lib/copy_page_mck.S b/arch/ia64/lib/copy_page_mck.S index 3c45d60a81b4..c13f69036876 100644 --- a/arch/ia64/lib/copy_page_mck.S +++ b/arch/ia64/lib/copy_page_mck.S | |||
@@ -61,6 +61,7 @@ | |||
61 | */ | 61 | */ |
62 | #include <asm/asmmacro.h> | 62 | #include <asm/asmmacro.h> |
63 | #include <asm/page.h> | 63 | #include <asm/page.h> |
64 | #include <asm/export.h> | ||
64 | 65 | ||
65 | #define PREFETCH_DIST 8 // McKinley sustains 16 outstanding L2 misses (8 ld, 8 st) | 66 | #define PREFETCH_DIST 8 // McKinley sustains 16 outstanding L2 misses (8 ld, 8 st) |
66 | 67 | ||
@@ -183,3 +184,4 @@ GLOBAL_ENTRY(copy_page) | |||
183 | mov pr = saved_pr, -1 | 184 | mov pr = saved_pr, -1 |
184 | br.ret.sptk.many rp | 185 | br.ret.sptk.many rp |
185 | END(copy_page) | 186 | END(copy_page) |
187 | EXPORT_SYMBOL(copy_page) | ||
diff --git a/arch/ia64/lib/copy_user.S b/arch/ia64/lib/copy_user.S index c952bdc6a093..66facd52e8d0 100644 --- a/arch/ia64/lib/copy_user.S +++ b/arch/ia64/lib/copy_user.S | |||
@@ -30,6 +30,7 @@ | |||
30 | */ | 30 | */ |
31 | 31 | ||
32 | #include <asm/asmmacro.h> | 32 | #include <asm/asmmacro.h> |
33 | #include <asm/export.h> | ||
33 | 34 | ||
34 | // | 35 | // |
35 | // Tuneable parameters | 36 | // Tuneable parameters |
@@ -608,3 +609,4 @@ GLOBAL_ENTRY(__copy_user) | |||
608 | mov ar.pfs=saved_pfs | 609 | mov ar.pfs=saved_pfs |
609 | br.ret.sptk.many rp | 610 | br.ret.sptk.many rp |
610 | END(__copy_user) | 611 | END(__copy_user) |
612 | EXPORT_SYMBOL(__copy_user) | ||
diff --git a/arch/ia64/lib/flush.S b/arch/ia64/lib/flush.S index 1d8c88860063..9a5a2f9fad13 100644 --- a/arch/ia64/lib/flush.S +++ b/arch/ia64/lib/flush.S | |||
@@ -8,6 +8,7 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <asm/asmmacro.h> | 10 | #include <asm/asmmacro.h> |
11 | #include <asm/export.h> | ||
11 | 12 | ||
12 | 13 | ||
13 | /* | 14 | /* |
@@ -60,6 +61,7 @@ GLOBAL_ENTRY(flush_icache_range) | |||
60 | mov ar.lc=r3 // restore ar.lc | 61 | mov ar.lc=r3 // restore ar.lc |
61 | br.ret.sptk.many rp | 62 | br.ret.sptk.many rp |
62 | END(flush_icache_range) | 63 | END(flush_icache_range) |
64 | EXPORT_SYMBOL_GPL(flush_icache_range) | ||
63 | 65 | ||
64 | /* | 66 | /* |
65 | * clflush_cache_range(start,size) | 67 | * clflush_cache_range(start,size) |
diff --git a/arch/ia64/lib/idiv32.S b/arch/ia64/lib/idiv32.S index c91b5b0129ff..715aed79a9ce 100644 --- a/arch/ia64/lib/idiv32.S +++ b/arch/ia64/lib/idiv32.S | |||
@@ -15,6 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include <asm/asmmacro.h> | 17 | #include <asm/asmmacro.h> |
18 | #include <asm/export.h> | ||
18 | 19 | ||
19 | #ifdef MODULO | 20 | #ifdef MODULO |
20 | # define OP mod | 21 | # define OP mod |
@@ -81,3 +82,4 @@ GLOBAL_ENTRY(NAME) | |||
81 | getf.sig r8 = f6 // transfer result to result register | 82 | getf.sig r8 = f6 // transfer result to result register |
82 | br.ret.sptk.many rp | 83 | br.ret.sptk.many rp |
83 | END(NAME) | 84 | END(NAME) |
85 | EXPORT_SYMBOL(NAME) | ||
diff --git a/arch/ia64/lib/idiv64.S b/arch/ia64/lib/idiv64.S index 627573c4ceb1..25840f697753 100644 --- a/arch/ia64/lib/idiv64.S +++ b/arch/ia64/lib/idiv64.S | |||
@@ -15,6 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include <asm/asmmacro.h> | 17 | #include <asm/asmmacro.h> |
18 | #include <asm/export.h> | ||
18 | 19 | ||
19 | #ifdef MODULO | 20 | #ifdef MODULO |
20 | # define OP mod | 21 | # define OP mod |
@@ -78,3 +79,4 @@ GLOBAL_ENTRY(NAME) | |||
78 | getf.sig r8 = f11 // transfer result to result register | 79 | getf.sig r8 = f11 // transfer result to result register |
79 | br.ret.sptk.many rp | 80 | br.ret.sptk.many rp |
80 | END(NAME) | 81 | END(NAME) |
82 | EXPORT_SYMBOL(NAME) | ||
diff --git a/arch/ia64/lib/ip_fast_csum.S b/arch/ia64/lib/ip_fast_csum.S index 620d9dc5220f..648e0d4a4839 100644 --- a/arch/ia64/lib/ip_fast_csum.S +++ b/arch/ia64/lib/ip_fast_csum.S | |||
@@ -13,6 +13,7 @@ | |||
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <asm/asmmacro.h> | 15 | #include <asm/asmmacro.h> |
16 | #include <asm/export.h> | ||
16 | 17 | ||
17 | /* | 18 | /* |
18 | * Since we know that most likely this function is called with buf aligned | 19 | * Since we know that most likely this function is called with buf aligned |
@@ -92,6 +93,7 @@ GLOBAL_ENTRY(ip_fast_csum) | |||
92 | mov b0=r34 | 93 | mov b0=r34 |
93 | br.ret.sptk.many b0 | 94 | br.ret.sptk.many b0 |
94 | END(ip_fast_csum) | 95 | END(ip_fast_csum) |
96 | EXPORT_SYMBOL(ip_fast_csum) | ||
95 | 97 | ||
96 | GLOBAL_ENTRY(csum_ipv6_magic) | 98 | GLOBAL_ENTRY(csum_ipv6_magic) |
97 | ld4 r20=[in0],4 | 99 | ld4 r20=[in0],4 |
@@ -142,3 +144,4 @@ GLOBAL_ENTRY(csum_ipv6_magic) | |||
142 | andcm r8=r9,r8 | 144 | andcm r8=r9,r8 |
143 | br.ret.sptk.many b0 | 145 | br.ret.sptk.many b0 |
144 | END(csum_ipv6_magic) | 146 | END(csum_ipv6_magic) |
147 | EXPORT_SYMBOL(csum_ipv6_magic) | ||
diff --git a/arch/ia64/lib/memcpy.S b/arch/ia64/lib/memcpy.S index 448908d80b69..ba172fd6acf4 100644 --- a/arch/ia64/lib/memcpy.S +++ b/arch/ia64/lib/memcpy.S | |||
@@ -14,6 +14,7 @@ | |||
14 | * David Mosberger-Tang <davidm@hpl.hp.com> | 14 | * David Mosberger-Tang <davidm@hpl.hp.com> |
15 | */ | 15 | */ |
16 | #include <asm/asmmacro.h> | 16 | #include <asm/asmmacro.h> |
17 | #include <asm/export.h> | ||
17 | 18 | ||
18 | GLOBAL_ENTRY(memcpy) | 19 | GLOBAL_ENTRY(memcpy) |
19 | 20 | ||
@@ -299,3 +300,4 @@ GLOBAL_ENTRY(memcpy) | |||
299 | COPY(56, 0) | 300 | COPY(56, 0) |
300 | 301 | ||
301 | END(memcpy) | 302 | END(memcpy) |
303 | EXPORT_SYMBOL(memcpy) | ||
diff --git a/arch/ia64/lib/memcpy_mck.S b/arch/ia64/lib/memcpy_mck.S index ab0f87639729..b264b6a7967b 100644 --- a/arch/ia64/lib/memcpy_mck.S +++ b/arch/ia64/lib/memcpy_mck.S | |||
@@ -15,6 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | #include <asm/asmmacro.h> | 16 | #include <asm/asmmacro.h> |
17 | #include <asm/page.h> | 17 | #include <asm/page.h> |
18 | #include <asm/export.h> | ||
18 | 19 | ||
19 | #define EK(y...) EX(y) | 20 | #define EK(y...) EX(y) |
20 | 21 | ||
@@ -78,6 +79,7 @@ GLOBAL_ENTRY(memcpy) | |||
78 | br.cond.sptk .common_code | 79 | br.cond.sptk .common_code |
79 | ;; | 80 | ;; |
80 | END(memcpy) | 81 | END(memcpy) |
82 | EXPORT_SYMBOL(memcpy) | ||
81 | GLOBAL_ENTRY(__copy_user) | 83 | GLOBAL_ENTRY(__copy_user) |
82 | .prologue | 84 | .prologue |
83 | // check dest alignment | 85 | // check dest alignment |
@@ -664,3 +666,4 @@ EK(.ex_handler, (p17) st8 [dst1]=r39,8); \ | |||
664 | 666 | ||
665 | /* end of McKinley specific optimization */ | 667 | /* end of McKinley specific optimization */ |
666 | END(__copy_user) | 668 | END(__copy_user) |
669 | EXPORT_SYMBOL(__copy_user) | ||
diff --git a/arch/ia64/lib/memset.S b/arch/ia64/lib/memset.S index f26c16aefb1c..87b974704075 100644 --- a/arch/ia64/lib/memset.S +++ b/arch/ia64/lib/memset.S | |||
@@ -18,6 +18,7 @@ | |||
18 | to get peak speed when value = 0. */ | 18 | to get peak speed when value = 0. */ |
19 | 19 | ||
20 | #include <asm/asmmacro.h> | 20 | #include <asm/asmmacro.h> |
21 | #include <asm/export.h> | ||
21 | #undef ret | 22 | #undef ret |
22 | 23 | ||
23 | #define dest in0 | 24 | #define dest in0 |
@@ -360,3 +361,4 @@ GLOBAL_ENTRY(memset) | |||
360 | br.ret.sptk.many rp | 361 | br.ret.sptk.many rp |
361 | } | 362 | } |
362 | END(memset) | 363 | END(memset) |
364 | EXPORT_SYMBOL(memset) | ||
diff --git a/arch/ia64/lib/strlen.S b/arch/ia64/lib/strlen.S index e0cdac0a85b8..1a6e17c657b4 100644 --- a/arch/ia64/lib/strlen.S +++ b/arch/ia64/lib/strlen.S | |||
@@ -17,6 +17,7 @@ | |||
17 | */ | 17 | */ |
18 | 18 | ||
19 | #include <asm/asmmacro.h> | 19 | #include <asm/asmmacro.h> |
20 | #include <asm/export.h> | ||
20 | 21 | ||
21 | // | 22 | // |
22 | // | 23 | // |
@@ -190,3 +191,4 @@ GLOBAL_ENTRY(strlen) | |||
190 | mov ar.pfs=saved_pfs // because of ar.ec, restore no matter what | 191 | mov ar.pfs=saved_pfs // because of ar.ec, restore no matter what |
191 | br.ret.sptk.many rp // end of successful recovery code | 192 | br.ret.sptk.many rp // end of successful recovery code |
192 | END(strlen) | 193 | END(strlen) |
194 | EXPORT_SYMBOL(strlen) | ||
diff --git a/arch/ia64/lib/strlen_user.S b/arch/ia64/lib/strlen_user.S index c71eded4285e..9d257684e733 100644 --- a/arch/ia64/lib/strlen_user.S +++ b/arch/ia64/lib/strlen_user.S | |||
@@ -16,6 +16,7 @@ | |||
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include <asm/asmmacro.h> | 18 | #include <asm/asmmacro.h> |
19 | #include <asm/export.h> | ||
19 | 20 | ||
20 | // | 21 | // |
21 | // int strlen_user(char *) | 22 | // int strlen_user(char *) |
@@ -196,3 +197,4 @@ GLOBAL_ENTRY(__strlen_user) | |||
196 | mov ar.pfs=saved_pfs // because of ar.ec, restore no matter what | 197 | mov ar.pfs=saved_pfs // because of ar.ec, restore no matter what |
197 | br.ret.sptk.many rp | 198 | br.ret.sptk.many rp |
198 | END(__strlen_user) | 199 | END(__strlen_user) |
200 | EXPORT_SYMBOL(__strlen_user) | ||
diff --git a/arch/ia64/lib/strncpy_from_user.S b/arch/ia64/lib/strncpy_from_user.S index a504381f31eb..ca9ccf280e2e 100644 --- a/arch/ia64/lib/strncpy_from_user.S +++ b/arch/ia64/lib/strncpy_from_user.S | |||
@@ -17,6 +17,7 @@ | |||
17 | */ | 17 | */ |
18 | 18 | ||
19 | #include <asm/asmmacro.h> | 19 | #include <asm/asmmacro.h> |
20 | #include <asm/export.h> | ||
20 | 21 | ||
21 | GLOBAL_ENTRY(__strncpy_from_user) | 22 | GLOBAL_ENTRY(__strncpy_from_user) |
22 | alloc r2=ar.pfs,3,0,0,0 | 23 | alloc r2=ar.pfs,3,0,0,0 |
@@ -42,3 +43,4 @@ GLOBAL_ENTRY(__strncpy_from_user) | |||
42 | [.Lexit:] | 43 | [.Lexit:] |
43 | br.ret.sptk.many rp | 44 | br.ret.sptk.many rp |
44 | END(__strncpy_from_user) | 45 | END(__strncpy_from_user) |
46 | EXPORT_SYMBOL(__strncpy_from_user) | ||
diff --git a/arch/ia64/lib/strnlen_user.S b/arch/ia64/lib/strnlen_user.S index d09066b1e49d..80a5dfd1d402 100644 --- a/arch/ia64/lib/strnlen_user.S +++ b/arch/ia64/lib/strnlen_user.S | |||
@@ -13,6 +13,7 @@ | |||
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <asm/asmmacro.h> | 15 | #include <asm/asmmacro.h> |
16 | #include <asm/export.h> | ||
16 | 17 | ||
17 | GLOBAL_ENTRY(__strnlen_user) | 18 | GLOBAL_ENTRY(__strnlen_user) |
18 | .prologue | 19 | .prologue |
@@ -43,3 +44,4 @@ GLOBAL_ENTRY(__strnlen_user) | |||
43 | mov ar.lc=r16 // restore ar.lc | 44 | mov ar.lc=r16 // restore ar.lc |
44 | br.ret.sptk.many rp | 45 | br.ret.sptk.many rp |
45 | END(__strnlen_user) | 46 | END(__strnlen_user) |
47 | EXPORT_SYMBOL(__strnlen_user) | ||
diff --git a/arch/ia64/lib/xor.S b/arch/ia64/lib/xor.S index 54e3f7eab8e9..c83f1c410691 100644 --- a/arch/ia64/lib/xor.S +++ b/arch/ia64/lib/xor.S | |||
@@ -14,6 +14,7 @@ | |||
14 | */ | 14 | */ |
15 | 15 | ||
16 | #include <asm/asmmacro.h> | 16 | #include <asm/asmmacro.h> |
17 | #include <asm/export.h> | ||
17 | 18 | ||
18 | GLOBAL_ENTRY(xor_ia64_2) | 19 | GLOBAL_ENTRY(xor_ia64_2) |
19 | .prologue | 20 | .prologue |
@@ -51,6 +52,7 @@ GLOBAL_ENTRY(xor_ia64_2) | |||
51 | mov pr = r29, -1 | 52 | mov pr = r29, -1 |
52 | br.ret.sptk.few rp | 53 | br.ret.sptk.few rp |
53 | END(xor_ia64_2) | 54 | END(xor_ia64_2) |
55 | EXPORT_SYMBOL(xor_ia64_2) | ||
54 | 56 | ||
55 | GLOBAL_ENTRY(xor_ia64_3) | 57 | GLOBAL_ENTRY(xor_ia64_3) |
56 | .prologue | 58 | .prologue |
@@ -91,6 +93,7 @@ GLOBAL_ENTRY(xor_ia64_3) | |||
91 | mov pr = r29, -1 | 93 | mov pr = r29, -1 |
92 | br.ret.sptk.few rp | 94 | br.ret.sptk.few rp |
93 | END(xor_ia64_3) | 95 | END(xor_ia64_3) |
96 | EXPORT_SYMBOL(xor_ia64_3) | ||
94 | 97 | ||
95 | GLOBAL_ENTRY(xor_ia64_4) | 98 | GLOBAL_ENTRY(xor_ia64_4) |
96 | .prologue | 99 | .prologue |
@@ -134,6 +137,7 @@ GLOBAL_ENTRY(xor_ia64_4) | |||
134 | mov pr = r29, -1 | 137 | mov pr = r29, -1 |
135 | br.ret.sptk.few rp | 138 | br.ret.sptk.few rp |
136 | END(xor_ia64_4) | 139 | END(xor_ia64_4) |
140 | EXPORT_SYMBOL(xor_ia64_4) | ||
137 | 141 | ||
138 | GLOBAL_ENTRY(xor_ia64_5) | 142 | GLOBAL_ENTRY(xor_ia64_5) |
139 | .prologue | 143 | .prologue |
@@ -182,3 +186,4 @@ GLOBAL_ENTRY(xor_ia64_5) | |||
182 | mov pr = r29, -1 | 186 | mov pr = r29, -1 |
183 | br.ret.sptk.few rp | 187 | br.ret.sptk.few rp |
184 | END(xor_ia64_5) | 188 | END(xor_ia64_5) |
189 | EXPORT_SYMBOL(xor_ia64_5) | ||