[sparc64] Don't re-add exports of string functions that are now only defined as macros

Together with fixes to DMA address types in 4.9-rc8, this should fix
the previous FTBFS.
This commit is contained in:
Ben Hutchings 2016-12-05 01:36:15 +00:00
parent 251382a142
commit 41004b49b6
2 changed files with 31 additions and 124 deletions

2
debian/changelog vendored
View File

@ -9,6 +9,8 @@ linux (4.9~rc8-1~exp1) UNRELEASED; urgency=medium
that have M-A: allowed
* Revert "default exported asm symbols to zero"
* [arm64] remoteproc: Disable QCOM_WCNSS_PIL (fixes FTBFS)
* [sparc64] Don't re-add exports of string functions that are now only
defined as macros (fixes FTBFS, after other fixes)
-- Ben Hutchings <ben@decadent.org.uk> Sat, 03 Dec 2016 02:54:32 +0000

View File

@ -7,7 +7,12 @@ This reverts commit d3867f0483103b8ff7edfdea3ef1981c03d96891 because
symbols exported from assembly don't automatically get modversions (ABI
hashes).
__memmove and __ret_efault are no longer exported.
Commit 70a6fcf3283a "[sparc] unify 32bit and 64bit string.h" removed
the exports of __memmove, memcpy, memset, and memscan; don't try to
export them again.
Commit aa95ce361ed9 "sparc64: Delete __ret_efault." did what it says;
don't try to export that symbol.
---
arch/sparc/include/asm/Kbuild | 1 -
arch/sparc/kernel/Makefile | 2 +-
@ -60,8 +65,6 @@ __memmove and __ret_efault are no longer exported.
create mode 100644 arch/sparc/kernel/sparc_ksyms_64.c
create mode 100644 arch/sparc/lib/ksyms.c
diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild
index cfc918067f80..6024c26c0585 100644
--- a/arch/sparc/include/asm/Kbuild
+++ b/arch/sparc/include/asm/Kbuild
@@ -6,7 +6,6 @@ generic-y += cputime.h
@ -72,11 +75,9 @@ index cfc918067f80..6024c26c0585 100644
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += linkage.h
diff --git a/arch/sparc/kernel/Makefile b/arch/sparc/kernel/Makefile
index fa3c02d41138..fdb13327fded 100644
--- a/arch/sparc/kernel/Makefile
+++ b/arch/sparc/kernel/Makefile
@@ -86,7 +86,7 @@ obj-y += auxio_$(BITS).o
@@ -86,7 +86,7 @@ obj-y += auxio_$(BIT
obj-$(CONFIG_SUN_PM) += apc.o pmc.o
obj-$(CONFIG_MODULES) += module.o
@ -85,8 +86,6 @@ index fa3c02d41138..fdb13327fded 100644
obj-$(CONFIG_SPARC_LED) += led.o
obj-$(CONFIG_KGDB) += kgdb_$(BITS).o
diff --git a/arch/sparc/kernel/entry.S b/arch/sparc/kernel/entry.S
index d85bdb999819..07918ab3062e 100644
--- a/arch/sparc/kernel/entry.S
+++ b/arch/sparc/kernel/entry.S
@@ -29,7 +29,6 @@
@ -106,8 +105,6 @@ index d85bdb999819..07918ab3062e 100644
/* Handle a software breakpoint */
/* We have to inform parent that child has stopped */
diff --git a/arch/sparc/kernel/head_32.S b/arch/sparc/kernel/head_32.S
index 7bb317b87dde..3d92c0a8f6c4 100644
--- a/arch/sparc/kernel/head_32.S
+++ b/arch/sparc/kernel/head_32.S
@@ -24,7 +24,6 @@
@ -131,8 +128,6 @@ index 7bb317b87dde..3d92c0a8f6c4 100644
ret
restore %g0, -EFAULT, %o0
-EXPORT_SYMBOL(__ret_efault)
diff --git a/arch/sparc/kernel/head_64.S b/arch/sparc/kernel/head_64.S
index 6aa3da152c20..5f1f3ae21657 100644
--- a/arch/sparc/kernel/head_64.S
+++ b/arch/sparc/kernel/head_64.S
@@ -32,8 +32,7 @@
@ -169,8 +164,6 @@ index 6aa3da152c20..5f1f3ae21657 100644
.section ".fixup",#alloc,#execinstr
ENTRY(__retl_efault)
diff --git a/arch/sparc/kernel/helpers.S b/arch/sparc/kernel/helpers.S
index e4e5b832fcb6..314dd0c9fc5b 100644
--- a/arch/sparc/kernel/helpers.S
+++ b/arch/sparc/kernel/helpers.S
@@ -15,7 +15,6 @@ __flushw_user:
@ -186,8 +179,6 @@ index e4e5b832fcb6..314dd0c9fc5b 100644
#endif
.size real_hard_smp_processor_id,.-real_hard_smp_processor_id
-EXPORT_SYMBOL_GPL(real_hard_smp_processor_id)
diff --git a/arch/sparc/kernel/hvcalls.S b/arch/sparc/kernel/hvcalls.S
index 4116ee5c7791..d127130bf424 100644
--- a/arch/sparc/kernel/hvcalls.S
+++ b/arch/sparc/kernel/hvcalls.S
@@ -343,7 +343,6 @@ ENTRY(sun4v_mach_set_watchdog)
@ -230,9 +221,6 @@ index 4116ee5c7791..d127130bf424 100644
ENTRY(sun4v_reboot_data_set)
mov HV_FAST_REBOOT_DATA_SET, %o5
diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.c
deleted file mode 100644
index 09aa69e422e5..000000000000
--- a/arch/sparc/kernel/sparc_ksyms.c
+++ /dev/null
@@ -1,12 +0,0 @@
@ -248,9 +236,6 @@ index 09aa69e422e5..000000000000
-
-/* This is needed only for drivers/sbus/char/openprom.c */
-EXPORT_SYMBOL(saved_command_line);
diff --git a/arch/sparc/kernel/sparc_ksyms_32.c b/arch/sparc/kernel/sparc_ksyms_32.c
new file mode 100644
index 000000000000..bf4ccb10a78c
--- /dev/null
+++ b/arch/sparc/kernel/sparc_ksyms_32.c
@@ -0,0 +1,31 @@
@ -285,9 +270,6 @@ index 000000000000..bf4ccb10a78c
+
+/* Exporting a symbol from /init/main.c */
+EXPORT_SYMBOL(saved_command_line);
diff --git a/arch/sparc/kernel/sparc_ksyms_64.c b/arch/sparc/kernel/sparc_ksyms_64.c
new file mode 100644
index 000000000000..20ffb052fe38
--- /dev/null
+++ b/arch/sparc/kernel/sparc_ksyms_64.c
@@ -0,0 +1,52 @@
@ -343,18 +325,14 @@ index 000000000000..20ffb052fe38
+
+/* Exporting a symbol from /init/main.c */
+EXPORT_SYMBOL(saved_command_line);
diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefile
index 69912d2f8b54..4f2384a4286a 100644
--- a/arch/sparc/lib/Makefile
+++ b/arch/sparc/lib/Makefile
@@ -43,4 +43,5 @@ lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o hweight.o ffs.o
@@ -43,4 +43,5 @@ lib-$(CONFIG_SPARC64) += mcount.o ipcsum
obj-$(CONFIG_SPARC64) += iomap.o
obj-$(CONFIG_SPARC32) += atomic32.o ucmpdi2.o
+obj-y += ksyms.o
obj-$(CONFIG_SPARC64) += PeeCeeI.o
diff --git a/arch/sparc/lib/U1memcpy.S b/arch/sparc/lib/U1memcpy.S
index 4f0d50b33a72..f30d2ab2c371 100644
--- a/arch/sparc/lib/U1memcpy.S
+++ b/arch/sparc/lib/U1memcpy.S
@@ -8,7 +8,6 @@
@ -365,13 +343,11 @@ index 4f0d50b33a72..f30d2ab2c371 100644
#define GLOBAL_SPARE g7
#else
#define GLOBAL_SPARE g5
@@ -681,4 +680,3 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
@@ -681,4 +680,3 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len
mov EX_RETVAL(%o4), %o0
.size FUNC_NAME, .-FUNC_NAME
-EXPORT_SYMBOL(FUNC_NAME)
diff --git a/arch/sparc/lib/VISsave.S b/arch/sparc/lib/VISsave.S
index 1c7b6a39b942..62c2647bd5ce 100644
--- a/arch/sparc/lib/VISsave.S
+++ b/arch/sparc/lib/VISsave.S
@@ -13,7 +13,6 @@
@ -387,8 +363,6 @@ index 1c7b6a39b942..62c2647bd5ce 100644
nop
ENDPROC(VISenter)
-EXPORT_SYMBOL(VISenter)
diff --git a/arch/sparc/lib/ashldi3.S b/arch/sparc/lib/ashldi3.S
index c8b1cf71bc73..86f60de07b0a 100644
--- a/arch/sparc/lib/ashldi3.S
+++ b/arch/sparc/lib/ashldi3.S
@@ -6,7 +6,6 @@
@ -404,8 +378,6 @@ index c8b1cf71bc73..86f60de07b0a 100644
nop
ENDPROC(__ashldi3)
-EXPORT_SYMBOL(__ashldi3)
diff --git a/arch/sparc/lib/ashrdi3.S b/arch/sparc/lib/ashrdi3.S
index 4310256e7964..6eb8ba2dd50e 100644
--- a/arch/sparc/lib/ashrdi3.S
+++ b/arch/sparc/lib/ashrdi3.S
@@ -6,7 +6,6 @@
@ -421,8 +393,6 @@ index 4310256e7964..6eb8ba2dd50e 100644
nop
ENDPROC(__ashrdi3)
-EXPORT_SYMBOL(__ashrdi3)
diff --git a/arch/sparc/lib/atomic_64.S b/arch/sparc/lib/atomic_64.S
index 1c6a1bde5138..a5c5a0279ccc 100644
--- a/arch/sparc/lib/atomic_64.S
+++ b/arch/sparc/lib/atomic_64.S
@@ -6,7 +6,6 @@
@ -433,7 +403,7 @@ index 1c6a1bde5138..a5c5a0279ccc 100644
.text
@@ -30,7 +29,6 @@ ENTRY(atomic_##op) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -30,7 +29,6 @@ ENTRY(atomic_##op) /* %o0 = increment, %
nop; \
2: BACKOFF_SPIN(%o2, %o3, 1b); \
ENDPROC(atomic_##op); \
@ -441,7 +411,7 @@ index 1c6a1bde5138..a5c5a0279ccc 100644
#define ATOMIC_OP_RETURN(op) \
ENTRY(atomic_##op##_return) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -44,8 +42,7 @@ ENTRY(atomic_##op##_return) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -44,8 +42,7 @@ ENTRY(atomic_##op##_return) /* %o0 = inc
retl; \
sra %g1, 0, %o0; \
2: BACKOFF_SPIN(%o2, %o3, 1b); \
@ -451,7 +421,7 @@ index 1c6a1bde5138..a5c5a0279ccc 100644
#define ATOMIC_FETCH_OP(op) \
ENTRY(atomic_fetch_##op) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -59,8 +56,7 @@ ENTRY(atomic_fetch_##op) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -59,8 +56,7 @@ ENTRY(atomic_fetch_##op) /* %o0 = increm
retl; \
sra %g1, 0, %o0; \
2: BACKOFF_SPIN(%o2, %o3, 1b); \
@ -461,7 +431,7 @@ index 1c6a1bde5138..a5c5a0279ccc 100644
#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_OP_RETURN(op) ATOMIC_FETCH_OP(op)
@@ -92,7 +88,6 @@ ENTRY(atomic64_##op) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -92,7 +88,6 @@ ENTRY(atomic64_##op) /* %o0 = increment,
nop; \
2: BACKOFF_SPIN(%o2, %o3, 1b); \
ENDPROC(atomic64_##op); \
@ -469,7 +439,7 @@ index 1c6a1bde5138..a5c5a0279ccc 100644
#define ATOMIC64_OP_RETURN(op) \
ENTRY(atomic64_##op##_return) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -106,8 +101,7 @@ ENTRY(atomic64_##op##_return) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -106,8 +101,7 @@ ENTRY(atomic64_##op##_return) /* %o0 = i
retl; \
op %g1, %o0, %o0; \
2: BACKOFF_SPIN(%o2, %o3, 1b); \
@ -479,7 +449,7 @@ index 1c6a1bde5138..a5c5a0279ccc 100644
#define ATOMIC64_FETCH_OP(op) \
ENTRY(atomic64_fetch_##op) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -121,8 +115,7 @@ ENTRY(atomic64_fetch_##op) /* %o0 = increment, %o1 = atomic_ptr */ \
@@ -121,8 +115,7 @@ ENTRY(atomic64_fetch_##op) /* %o0 = incr
retl; \
mov %g1, %o0; \
2: BACKOFF_SPIN(%o2, %o3, 1b); \
@ -489,13 +459,11 @@ index 1c6a1bde5138..a5c5a0279ccc 100644
#define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) ATOMIC64_FETCH_OP(op)
@@ -154,4 +147,3 @@ ENTRY(atomic64_dec_if_positive) /* %o0 = atomic_ptr */
@@ -154,4 +147,3 @@ ENTRY(atomic64_dec_if_positive) /* %o0 =
sub %g1, 1, %o0
2: BACKOFF_SPIN(%o2, %o3, 1b)
ENDPROC(atomic64_dec_if_positive)
-EXPORT_SYMBOL(atomic64_dec_if_positive)
diff --git a/arch/sparc/lib/bitops.S b/arch/sparc/lib/bitops.S
index 7031bf1587cb..36f72cc0e67e 100644
--- a/arch/sparc/lib/bitops.S
+++ b/arch/sparc/lib/bitops.S
@@ -6,7 +6,6 @@
@ -506,7 +474,7 @@ index 7031bf1587cb..36f72cc0e67e 100644
.text
@@ -30,7 +29,6 @@ ENTRY(test_and_set_bit) /* %o0=nr, %o1=addr */
@@ -30,7 +29,6 @@ ENTRY(test_and_set_bit) /* %o0=nr, %o1=a
nop
2: BACKOFF_SPIN(%o3, %o4, 1b)
ENDPROC(test_and_set_bit)
@ -514,7 +482,7 @@ index 7031bf1587cb..36f72cc0e67e 100644
ENTRY(test_and_clear_bit) /* %o0=nr, %o1=addr */
BACKOFF_SETUP(%o3)
@@ -52,7 +50,6 @@ ENTRY(test_and_clear_bit) /* %o0=nr, %o1=addr */
@@ -52,7 +50,6 @@ ENTRY(test_and_clear_bit) /* %o0=nr, %o1
nop
2: BACKOFF_SPIN(%o3, %o4, 1b)
ENDPROC(test_and_clear_bit)
@ -522,7 +490,7 @@ index 7031bf1587cb..36f72cc0e67e 100644
ENTRY(test_and_change_bit) /* %o0=nr, %o1=addr */
BACKOFF_SETUP(%o3)
@@ -74,7 +71,6 @@ ENTRY(test_and_change_bit) /* %o0=nr, %o1=addr */
@@ -74,7 +71,6 @@ ENTRY(test_and_change_bit) /* %o0=nr, %o
nop
2: BACKOFF_SPIN(%o3, %o4, 1b)
ENDPROC(test_and_change_bit)
@ -551,8 +519,6 @@ index 7031bf1587cb..36f72cc0e67e 100644
2: BACKOFF_SPIN(%o3, %o4, 1b)
ENDPROC(change_bit)
-EXPORT_SYMBOL(change_bit)
diff --git a/arch/sparc/lib/blockops.S b/arch/sparc/lib/blockops.S
index 1f2692d59d18..3c771011ff4b 100644
--- a/arch/sparc/lib/blockops.S
+++ b/arch/sparc/lib/blockops.S
@@ -6,7 +6,6 @@
@ -576,8 +542,6 @@ index 1f2692d59d18..3c771011ff4b 100644
nop
ENDPROC(__copy_1page)
-EXPORT_SYMBOL(__copy_1page)
diff --git a/arch/sparc/lib/bzero.S b/arch/sparc/lib/bzero.S
index 3bb1914c4fa4..8c058114b649 100644
--- a/arch/sparc/lib/bzero.S
+++ b/arch/sparc/lib/bzero.S
@@ -5,7 +5,6 @@
@ -602,8 +566,6 @@ index 3bb1914c4fa4..8c058114b649 100644
clr %o0
ENDPROC(__clear_user)
-EXPORT_SYMBOL(__clear_user)
diff --git a/arch/sparc/lib/checksum_32.S b/arch/sparc/lib/checksum_32.S
index c9d8b6232111..0084c3361e15 100644
--- a/arch/sparc/lib/checksum_32.S
+++ b/arch/sparc/lib/checksum_32.S
@@ -14,7 +14,6 @@
@ -630,8 +592,6 @@ index c9d8b6232111..0084c3361e15 100644
__csum_partial_copy_sparc_generic:
/* %o0=src, %o1=dest, %g1=len, %g7=sum */
xor %o0, %o1, %o4 ! get changing bits
diff --git a/arch/sparc/lib/checksum_64.S b/arch/sparc/lib/checksum_64.S
index f6732174fe6b..1d230f693dc4 100644
--- a/arch/sparc/lib/checksum_64.S
+++ b/arch/sparc/lib/checksum_64.S
@@ -13,7 +13,6 @@
@ -650,8 +610,6 @@ index f6732174fe6b..1d230f693dc4 100644
csum_partial: /* %o0=buff, %o1=len, %o2=sum */
prefetch [%o0 + 0x000], #n_reads
clr %o4
diff --git a/arch/sparc/lib/clear_page.S b/arch/sparc/lib/clear_page.S
index f30d6b78afbd..46272dfc26e8 100644
--- a/arch/sparc/lib/clear_page.S
+++ b/arch/sparc/lib/clear_page.S
@@ -10,7 +10,6 @@
@ -678,8 +636,6 @@ index f30d6b78afbd..46272dfc26e8 100644
clear_user_page: /* %o0=dest, %o1=vaddr */
lduw [%g6 + TI_PRE_COUNT], %o2
sethi %hi(PAGE_OFFSET), %g2
diff --git a/arch/sparc/lib/copy_in_user.S b/arch/sparc/lib/copy_in_user.S
index 0252b218de45..4c89b486fa0d 100644
--- a/arch/sparc/lib/copy_in_user.S
+++ b/arch/sparc/lib/copy_in_user.S
@@ -5,7 +5,6 @@
@ -690,13 +646,11 @@ index 0252b218de45..4c89b486fa0d 100644
#define XCC xcc
@@ -106,4 +105,3 @@ ENTRY(___copy_in_user) /* %o0=dst, %o1=src, %o2=len */
@@ -106,4 +105,3 @@ ENTRY(___copy_in_user) /* %o0=dst, %o1=s
retl
clr %o0
ENDPROC(___copy_in_user)
-EXPORT_SYMBOL(___copy_in_user)
diff --git a/arch/sparc/lib/copy_page.S b/arch/sparc/lib/copy_page.S
index 7197b7250895..dd16c61f3263 100644
--- a/arch/sparc/lib/copy_page.S
+++ b/arch/sparc/lib/copy_page.S
@@ -10,7 +10,6 @@
@ -715,8 +669,6 @@ index 7197b7250895..dd16c61f3263 100644
copy_user_page: /* %o0=dest, %o1=src, %o2=vaddr */
lduw [%g6 + TI_PRE_COUNT], %o4
sethi %hi(PAGE_OFFSET), %g2
diff --git a/arch/sparc/lib/copy_user.S b/arch/sparc/lib/copy_user.S
index cea644dc67a6..ef095b6c43b1 100644
--- a/arch/sparc/lib/copy_user.S
+++ b/arch/sparc/lib/copy_user.S
@@ -15,7 +15,6 @@
@ -735,8 +687,6 @@ index cea644dc67a6..ef095b6c43b1 100644
dword_align:
andcc %o1, 1, %g0
be 4f
diff --git a/arch/sparc/lib/csum_copy.S b/arch/sparc/lib/csum_copy.S
index 0ecbafc30fd0..e566c770a0f6 100644
--- a/arch/sparc/lib/csum_copy.S
+++ b/arch/sparc/lib/csum_copy.S
@@ -3,8 +3,6 @@
@ -756,11 +706,9 @@ index 0ecbafc30fd0..e566c770a0f6 100644
FUNC_NAME: /* %o0=src, %o1=dst, %o2=len, %o3=sum */
LOAD(prefetch, %o0 + 0x000, #n_reads)
xor %o0, %o1, %g1
diff --git a/arch/sparc/lib/divdi3.S b/arch/sparc/lib/divdi3.S
index a2b5a976be33..9614b48b6ef8 100644
--- a/arch/sparc/lib/divdi3.S
+++ b/arch/sparc/lib/divdi3.S
@@ -17,7 +17,6 @@ along with GNU CC; see the file COPYING. If not, write to
@@ -17,7 +17,6 @@ along with GNU CC; see the file COPYING.
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
@ -773,8 +721,6 @@ index a2b5a976be33..9614b48b6ef8 100644
ret
restore
-EXPORT_SYMBOL(__divdi3)
diff --git a/arch/sparc/lib/ffs.S b/arch/sparc/lib/ffs.S
index 23aab144d28e..b39389f69899 100644
--- a/arch/sparc/lib/ffs.S
+++ b/arch/sparc/lib/ffs.S
@@ -1,5 +1,4 @@
@ -792,8 +738,6 @@ index 23aab144d28e..b39389f69899 100644
.section .popc_6insn_patch, "ax"
.word ffs
diff --git a/arch/sparc/lib/hweight.S b/arch/sparc/lib/hweight.S
index f9985f129fb6..95414e0a6808 100644
--- a/arch/sparc/lib/hweight.S
+++ b/arch/sparc/lib/hweight.S
@@ -1,5 +1,4 @@
@ -834,8 +778,6 @@ index f9985f129fb6..95414e0a6808 100644
.section .popc_3insn_patch, "ax"
.word __arch_hweight64
retl
diff --git a/arch/sparc/lib/ipcsum.S b/arch/sparc/lib/ipcsum.S
index 5d61648b53dd..4742d59029ee 100644
--- a/arch/sparc/lib/ipcsum.S
+++ b/arch/sparc/lib/ipcsum.S
@@ -1,5 +1,4 @@
@ -844,24 +786,18 @@ index 5d61648b53dd..4742d59029ee 100644
.text
ENTRY(ip_fast_csum) /* %o0 = iph, %o1 = ihl */
@@ -32,4 +31,3 @@ ENTRY(ip_fast_csum) /* %o0 = iph, %o1 = ihl */
@@ -32,4 +31,3 @@ ENTRY(ip_fast_csum) /* %o0 = iph, %o1 =
retl
and %o2, %o1, %o0
ENDPROC(ip_fast_csum)
-EXPORT_SYMBOL(ip_fast_csum)
diff --git a/arch/sparc/lib/ksyms.c b/arch/sparc/lib/ksyms.c
new file mode 100644
index 000000000000..a7e55c67a43e
--- /dev/null
+++ b/arch/sparc/lib/ksyms.c
@@ -0,0 +1,173 @@
@@ -0,0 +1,167 @@
+/*
+ * Export of symbols defined in assembler
+ */
+
+/* Tell string.h we don't want memcpy etc. as cpp defines */
+#define EXPORT_SYMTAB_STROPS
+
+#include <linux/module.h>
+#include <linux/string.h>
+#include <linux/types.h>
@ -879,12 +815,9 @@ index 000000000000..a7e55c67a43e
+extern void *__memscan_generic(void *, int, size_t);
+extern void *__bzero(void *, size_t);
+
+EXPORT_SYMBOL(memscan);
+EXPORT_SYMBOL(__memscan_zero);
+EXPORT_SYMBOL(__memscan_generic);
+EXPORT_SYMBOL(memcmp);
+EXPORT_SYMBOL(memcpy);
+EXPORT_SYMBOL(memset);
+EXPORT_SYMBOL(memmove);
+EXPORT_SYMBOL(__bzero);
+
@ -1028,8 +961,6 @@ index 000000000000..a7e55c67a43e
+EXPORT_SYMBOL(xor_niagara_4);
+EXPORT_SYMBOL(xor_niagara_5);
+#endif
diff --git a/arch/sparc/lib/locks.S b/arch/sparc/lib/locks.S
index f38c4e59d078..64f53f2b673d 100644
--- a/arch/sparc/lib/locks.S
+++ b/arch/sparc/lib/locks.S
@@ -10,7 +10,6 @@
@ -1072,8 +1003,6 @@ index f38c4e59d078..64f53f2b673d 100644
___rw_write_enter:
orcc %g2, 0x0, %g0
bne ___rw_write_enter_spin_on_wlock
diff --git a/arch/sparc/lib/lshrdi3.S b/arch/sparc/lib/lshrdi3.S
index c9b9373f8d81..60ebc7cdbee0 100644
--- a/arch/sparc/lib/lshrdi3.S
+++ b/arch/sparc/lib/lshrdi3.S
@@ -1,5 +1,4 @@
@ -1087,8 +1016,6 @@ index c9b9373f8d81..60ebc7cdbee0 100644
nop
ENDPROC(__lshrdi3)
-EXPORT_SYMBOL(__lshrdi3)
diff --git a/arch/sparc/lib/mcount.S b/arch/sparc/lib/mcount.S
index 194f383611c0..0b0ed4d34219 100644
--- a/arch/sparc/lib/mcount.S
+++ b/arch/sparc/lib/mcount.S
@@ -6,7 +6,6 @@
@ -1107,8 +1034,6 @@ index 194f383611c0..0b0ed4d34219 100644
.globl mcount
.type mcount,#function
_mcount:
diff --git a/arch/sparc/lib/memcmp.S b/arch/sparc/lib/memcmp.S
index cee7f30dbb61..efa106c41ed0 100644
--- a/arch/sparc/lib/memcmp.S
+++ b/arch/sparc/lib/memcmp.S
@@ -6,7 +6,6 @@
@ -1124,8 +1049,6 @@ index cee7f30dbb61..efa106c41ed0 100644
mov 0, %o0
ENDPROC(memcmp)
-EXPORT_SYMBOL(memcmp)
diff --git a/arch/sparc/lib/memcpy.S b/arch/sparc/lib/memcpy.S
index 8913feaa7ac7..b2e64a898fc5 100644
--- a/arch/sparc/lib/memcpy.S
+++ b/arch/sparc/lib/memcpy.S
@@ -7,7 +7,6 @@
@ -1152,8 +1075,6 @@ index 8913feaa7ac7..b2e64a898fc5 100644
sub %o0, %o1, %o4
mov %o0, %g7
diff --git a/arch/sparc/lib/memmove.S b/arch/sparc/lib/memmove.S
index 012cdb6ca467..857ad4f8905f 100644
--- a/arch/sparc/lib/memmove.S
+++ b/arch/sparc/lib/memmove.S
@@ -5,7 +5,6 @@
@ -1164,13 +1085,11 @@ index 012cdb6ca467..857ad4f8905f 100644
.text
ENTRY(memmove) /* o0=dst o1=src o2=len */
@@ -58,4 +57,3 @@ ENTRY(memmove) /* o0=dst o1=src o2=len */
@@ -58,4 +57,3 @@ ENTRY(memmove) /* o0=dst o1=src o2=len *
stb %g7, [%o0 - 0x1]
ba,a,pt %xcc, 99b
ENDPROC(memmove)
-EXPORT_SYMBOL(memmove)
diff --git a/arch/sparc/lib/memscan_32.S b/arch/sparc/lib/memscan_32.S
index 51ce690c42a8..4ff1657dfc24 100644
--- a/arch/sparc/lib/memscan_32.S
+++ b/arch/sparc/lib/memscan_32.S
@@ -4,8 +4,6 @@
@ -1191,8 +1110,6 @@ index 51ce690c42a8..4ff1657dfc24 100644
__memscan_zero:
/* %o0 = addr, %o1 = size */
cmp %o1, 0
diff --git a/arch/sparc/lib/memscan_64.S b/arch/sparc/lib/memscan_64.S
index daa96f4b03e6..5686dfa5dc15 100644
--- a/arch/sparc/lib/memscan_64.S
+++ b/arch/sparc/lib/memscan_64.S
@@ -5,8 +5,6 @@
@ -1213,8 +1130,6 @@ index daa96f4b03e6..5686dfa5dc15 100644
__memscan_zero:
/* %o0 = bufp, %o1 = size */
diff --git a/arch/sparc/lib/memset.S b/arch/sparc/lib/memset.S
index bb539b42b088..f75e6906df14 100644
--- a/arch/sparc/lib/memset.S
+++ b/arch/sparc/lib/memset.S
@@ -9,7 +9,6 @@
@ -1234,11 +1149,9 @@ index bb539b42b088..f75e6906df14 100644
.globl __memset_start, __memset_end
__memset_start:
memset:
diff --git a/arch/sparc/lib/muldi3.S b/arch/sparc/lib/muldi3.S
index 17a0f49aef3c..9794939d1c12 100644
--- a/arch/sparc/lib/muldi3.S
+++ b/arch/sparc/lib/muldi3.S
@@ -17,7 +17,6 @@ along with GNU CC; see the file COPYING. If not, write to
@@ -17,7 +17,6 @@ along with GNU CC; see the file COPYING.
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
@ -1251,8 +1164,6 @@ index 17a0f49aef3c..9794939d1c12 100644
ret
restore %g0, %l3, %o1
-EXPORT_SYMBOL(__muldi3)
diff --git a/arch/sparc/lib/strlen.S b/arch/sparc/lib/strlen.S
index ca0e7077e871..536f83507fbf 100644
--- a/arch/sparc/lib/strlen.S
+++ b/arch/sparc/lib/strlen.S
@@ -7,7 +7,6 @@
@ -1268,8 +1179,6 @@ index ca0e7077e871..536f83507fbf 100644
mov 2, %o0
ENDPROC(strlen)
-EXPORT_SYMBOL(strlen)
diff --git a/arch/sparc/lib/strncmp_32.S b/arch/sparc/lib/strncmp_32.S
index e3fe014813af..c0d1b568c1c5 100644
--- a/arch/sparc/lib/strncmp_32.S
+++ b/arch/sparc/lib/strncmp_32.S
@@ -4,7 +4,6 @@
@ -1285,8 +1194,6 @@ index e3fe014813af..c0d1b568c1c5 100644
sub %o3, %o0, %o0
ENDPROC(strncmp)
-EXPORT_SYMBOL(strncmp)
diff --git a/arch/sparc/lib/strncmp_64.S b/arch/sparc/lib/strncmp_64.S
index efb5f884330d..0656627166f3 100644
--- a/arch/sparc/lib/strncmp_64.S
+++ b/arch/sparc/lib/strncmp_64.S
@@ -6,7 +6,6 @@
@ -1302,8 +1209,6 @@ index efb5f884330d..0656627166f3 100644
clr %o0
ENDPROC(strncmp)
-EXPORT_SYMBOL(strncmp)
diff --git a/arch/sparc/lib/xor.S b/arch/sparc/lib/xor.S
index 45a49cb618b5..2c05641c3263 100644
--- a/arch/sparc/lib/xor.S
+++ b/arch/sparc/lib/xor.S
@@ -13,7 +13,6 @@
@ -1346,7 +1251,7 @@ index 45a49cb618b5..2c05641c3263 100644
/* Niagara versions. */
ENTRY(xor_niagara_2) /* %o0=bytes, %o1=dest, %o2=src */
@@ -398,7 +393,6 @@ ENTRY(xor_niagara_2) /* %o0=bytes, %o1=dest, %o2=src */
@@ -398,7 +393,6 @@ ENTRY(xor_niagara_2) /* %o0=bytes, %o1=d
ret
restore
ENDPROC(xor_niagara_2)
@ -1354,7 +1259,7 @@ index 45a49cb618b5..2c05641c3263 100644
ENTRY(xor_niagara_3) /* %o0=bytes, %o1=dest, %o2=src1, %o3=src2 */
save %sp, -192, %sp
@@ -460,7 +454,6 @@ ENTRY(xor_niagara_3) /* %o0=bytes, %o1=dest, %o2=src1, %o3=src2 */
@@ -460,7 +454,6 @@ ENTRY(xor_niagara_3) /* %o0=bytes, %o1=d
ret
restore
ENDPROC(xor_niagara_3)
@ -1362,7 +1267,7 @@ index 45a49cb618b5..2c05641c3263 100644
ENTRY(xor_niagara_4) /* %o0=bytes, %o1=dest, %o2=src1, %o3=src2, %o4=src3 */
save %sp, -192, %sp
@@ -543,7 +536,6 @@ ENTRY(xor_niagara_4) /* %o0=bytes, %o1=dest, %o2=src1, %o3=src2, %o4=src3 */
@@ -543,7 +536,6 @@ ENTRY(xor_niagara_4) /* %o0=bytes, %o1=d
ret
restore
ENDPROC(xor_niagara_4)
@ -1370,7 +1275,7 @@ index 45a49cb618b5..2c05641c3263 100644
ENTRY(xor_niagara_5) /* %o0=bytes, %o1=dest, %o2=src1, %o3=src2, %o4=src3, %o5=src4 */
save %sp, -192, %sp
@@ -642,4 +634,3 @@ ENTRY(xor_niagara_5) /* %o0=bytes, %o1=dest, %o2=src1, %o3=src2, %o4=src3, %o5=s
@@ -642,4 +634,3 @@ ENTRY(xor_niagara_5) /* %o0=bytes, %o1=d
ret
restore
ENDPROC(xor_niagara_5)