950 lines
26 KiB
Diff
950 lines
26 KiB
Diff
From: Ben Hutchings <ben@decadent.org.uk>
|
|
Date: Thu, 1 Dec 2016 23:14:46 +0000
|
|
Subject: Revert "alpha: move exports to actual definitions"
|
|
Forwarded: not-needed
|
|
|
|
This reverts commit 00fc0e0dda6286407f3854cd71a125f519a5689c because
|
|
symbols exported from assembly don't automatically get modversions (ABI
|
|
hashes).
|
|
---
|
|
arch/alpha/include/asm/Kbuild | 1 -
|
|
arch/alpha/kernel/Makefile | 2 +-
|
|
arch/alpha/kernel/alpha_ksyms.c | 102 +++++++++++++++++++++++++++++++++++
|
|
arch/alpha/kernel/machvec_impl.h | 6 +--
|
|
arch/alpha/kernel/setup.c | 1 -
|
|
arch/alpha/lib/callback_srm.S | 5 --
|
|
arch/alpha/lib/checksum.c | 3 --
|
|
arch/alpha/lib/clear_page.S | 3 +-
|
|
arch/alpha/lib/clear_user.S | 2 -
|
|
arch/alpha/lib/copy_page.S | 3 +-
|
|
arch/alpha/lib/copy_user.S | 3 --
|
|
arch/alpha/lib/csum_ipv6_magic.S | 2 -
|
|
arch/alpha/lib/csum_partial_copy.c | 2 -
|
|
arch/alpha/lib/dec_and_lock.c | 2 -
|
|
arch/alpha/lib/divide.S | 3 --
|
|
arch/alpha/lib/ev6-clear_page.S | 3 +-
|
|
arch/alpha/lib/ev6-clear_user.S | 3 +-
|
|
arch/alpha/lib/ev6-copy_page.S | 3 +-
|
|
arch/alpha/lib/ev6-copy_user.S | 3 +-
|
|
arch/alpha/lib/ev6-csum_ipv6_magic.S | 2 -
|
|
arch/alpha/lib/ev6-divide.S | 3 --
|
|
arch/alpha/lib/ev6-memchr.S | 3 +-
|
|
arch/alpha/lib/ev6-memcpy.S | 3 +-
|
|
arch/alpha/lib/ev6-memset.S | 7 +--
|
|
arch/alpha/lib/ev67-strcat.S | 3 +-
|
|
arch/alpha/lib/ev67-strchr.S | 3 +-
|
|
arch/alpha/lib/ev67-strlen.S | 3 +-
|
|
arch/alpha/lib/ev67-strncat.S | 3 +-
|
|
arch/alpha/lib/ev67-strrchr.S | 3 +-
|
|
arch/alpha/lib/fpreg.c | 7 ---
|
|
arch/alpha/lib/memchr.S | 3 +-
|
|
arch/alpha/lib/memcpy.c | 5 +-
|
|
arch/alpha/lib/memmove.S | 3 +-
|
|
arch/alpha/lib/memset.S | 7 +--
|
|
arch/alpha/lib/strcat.S | 2 -
|
|
arch/alpha/lib/strchr.S | 3 +-
|
|
arch/alpha/lib/strcpy.S | 3 +-
|
|
arch/alpha/lib/strlen.S | 3 +-
|
|
arch/alpha/lib/strncat.S | 3 +-
|
|
arch/alpha/lib/strncpy.S | 3 +-
|
|
arch/alpha/lib/strrchr.S | 3 +-
|
|
41 files changed, 131 insertions(+), 99 deletions(-)
|
|
create mode 100644 arch/alpha/kernel/alpha_ksyms.c
|
|
|
|
diff --git a/arch/alpha/include/asm/Kbuild b/arch/alpha/include/asm/Kbuild
|
|
index bf8475ce85ee..ffd9cf5ec8c4 100644
|
|
--- a/arch/alpha/include/asm/Kbuild
|
|
+++ b/arch/alpha/include/asm/Kbuild
|
|
@@ -3,7 +3,6 @@
|
|
generic-y += clkdev.h
|
|
generic-y += cputime.h
|
|
generic-y += exec.h
|
|
-generic-y += export.h
|
|
generic-y += irq_work.h
|
|
generic-y += mcs_spinlock.h
|
|
generic-y += mm-arch-hooks.h
|
|
diff --git a/arch/alpha/kernel/Makefile b/arch/alpha/kernel/Makefile
|
|
index 8ce13d7a2ad3..3ecac0106c8a 100644
|
|
--- a/arch/alpha/kernel/Makefile
|
|
+++ b/arch/alpha/kernel/Makefile
|
|
@@ -8,7 +8,7 @@ ccflags-y := -Wno-sign-compare
|
|
|
|
obj-y := entry.o traps.o process.o osf_sys.o irq.o \
|
|
irq_alpha.o signal.o setup.o ptrace.o time.o \
|
|
- systbls.o err_common.o io.o
|
|
+ alpha_ksyms.o systbls.o err_common.o io.o
|
|
|
|
obj-$(CONFIG_VGA_HOSE) += console.o
|
|
obj-$(CONFIG_SMP) += smp.o
|
|
diff --git a/arch/alpha/kernel/alpha_ksyms.c b/arch/alpha/kernel/alpha_ksyms.c
|
|
new file mode 100644
|
|
index 000000000000..f4c7ab6f43b0
|
|
--- /dev/null
|
|
+++ b/arch/alpha/kernel/alpha_ksyms.c
|
|
@@ -0,0 +1,102 @@
|
|
+/*
|
|
+ * linux/arch/alpha/kernel/alpha_ksyms.c
|
|
+ *
|
|
+ * Export the alpha-specific functions that are needed for loadable
|
|
+ * modules.
|
|
+ */
|
|
+
|
|
+#include <linux/module.h>
|
|
+#include <asm/console.h>
|
|
+#include <asm/uaccess.h>
|
|
+#include <asm/checksum.h>
|
|
+#include <asm/fpu.h>
|
|
+#include <asm/machvec.h>
|
|
+
|
|
+#include <linux/syscalls.h>
|
|
+
|
|
+/* these are C runtime functions with special calling conventions: */
|
|
+extern void __divl (void);
|
|
+extern void __reml (void);
|
|
+extern void __divq (void);
|
|
+extern void __remq (void);
|
|
+extern void __divlu (void);
|
|
+extern void __remlu (void);
|
|
+extern void __divqu (void);
|
|
+extern void __remqu (void);
|
|
+
|
|
+EXPORT_SYMBOL(alpha_mv);
|
|
+EXPORT_SYMBOL(callback_getenv);
|
|
+EXPORT_SYMBOL(callback_setenv);
|
|
+EXPORT_SYMBOL(callback_save_env);
|
|
+
|
|
+/* platform dependent support */
|
|
+EXPORT_SYMBOL(strcat);
|
|
+EXPORT_SYMBOL(strcpy);
|
|
+EXPORT_SYMBOL(strlen);
|
|
+EXPORT_SYMBOL(strncpy);
|
|
+EXPORT_SYMBOL(strncat);
|
|
+EXPORT_SYMBOL(strchr);
|
|
+EXPORT_SYMBOL(strrchr);
|
|
+EXPORT_SYMBOL(memmove);
|
|
+EXPORT_SYMBOL(__memcpy);
|
|
+EXPORT_SYMBOL(__memset);
|
|
+EXPORT_SYMBOL(___memset);
|
|
+EXPORT_SYMBOL(__memsetw);
|
|
+EXPORT_SYMBOL(__constant_c_memset);
|
|
+EXPORT_SYMBOL(copy_page);
|
|
+EXPORT_SYMBOL(clear_page);
|
|
+
|
|
+EXPORT_SYMBOL(alpha_read_fp_reg);
|
|
+EXPORT_SYMBOL(alpha_read_fp_reg_s);
|
|
+EXPORT_SYMBOL(alpha_write_fp_reg);
|
|
+EXPORT_SYMBOL(alpha_write_fp_reg_s);
|
|
+
|
|
+/* Networking helper routines. */
|
|
+EXPORT_SYMBOL(csum_tcpudp_magic);
|
|
+EXPORT_SYMBOL(ip_compute_csum);
|
|
+EXPORT_SYMBOL(ip_fast_csum);
|
|
+EXPORT_SYMBOL(csum_partial_copy_nocheck);
|
|
+EXPORT_SYMBOL(csum_partial_copy_from_user);
|
|
+EXPORT_SYMBOL(csum_ipv6_magic);
|
|
+
|
|
+#ifdef CONFIG_MATHEMU_MODULE
|
|
+extern long (*alpha_fp_emul_imprecise)(struct pt_regs *, unsigned long);
|
|
+extern long (*alpha_fp_emul) (unsigned long pc);
|
|
+EXPORT_SYMBOL(alpha_fp_emul_imprecise);
|
|
+EXPORT_SYMBOL(alpha_fp_emul);
|
|
+#endif
|
|
+
|
|
+/*
|
|
+ * The following are specially called from the uaccess assembly stubs.
|
|
+ */
|
|
+EXPORT_SYMBOL(__copy_user);
|
|
+EXPORT_SYMBOL(__do_clear_user);
|
|
+
|
|
+/*
|
|
+ * SMP-specific symbols.
|
|
+ */
|
|
+
|
|
+#ifdef CONFIG_SMP
|
|
+EXPORT_SYMBOL(_atomic_dec_and_lock);
|
|
+#endif /* CONFIG_SMP */
|
|
+
|
|
+/*
|
|
+ * The following are special because they're not called
|
|
+ * explicitly (the C compiler or assembler generates them in
|
|
+ * response to division operations). Fortunately, their
|
|
+ * interface isn't gonna change any time soon now, so it's OK
|
|
+ * to leave it out of version control.
|
|
+ */
|
|
+# undef memcpy
|
|
+# undef memset
|
|
+EXPORT_SYMBOL(__divl);
|
|
+EXPORT_SYMBOL(__divlu);
|
|
+EXPORT_SYMBOL(__divq);
|
|
+EXPORT_SYMBOL(__divqu);
|
|
+EXPORT_SYMBOL(__reml);
|
|
+EXPORT_SYMBOL(__remlu);
|
|
+EXPORT_SYMBOL(__remq);
|
|
+EXPORT_SYMBOL(__remqu);
|
|
+EXPORT_SYMBOL(memcpy);
|
|
+EXPORT_SYMBOL(memset);
|
|
+EXPORT_SYMBOL(memchr);
|
|
diff --git a/arch/alpha/kernel/machvec_impl.h b/arch/alpha/kernel/machvec_impl.h
|
|
index b7d69604b6d2..d3398f6ab74c 100644
|
|
--- a/arch/alpha/kernel/machvec_impl.h
|
|
+++ b/arch/alpha/kernel/machvec_impl.h
|
|
@@ -144,11 +144,9 @@
|
|
else beforehand. Fine. We'll do it ourselves. */
|
|
#if 0
|
|
#define ALIAS_MV(system) \
|
|
- struct alpha_machine_vector alpha_mv __attribute__((alias(#system "_mv"))); \
|
|
- EXPORT_SYMBOL(alpha_mv);
|
|
+ struct alpha_machine_vector alpha_mv __attribute__((alias(#system "_mv")));
|
|
#else
|
|
#define ALIAS_MV(system) \
|
|
- asm(".global alpha_mv\nalpha_mv = " #system "_mv"); \
|
|
- EXPORT_SYMBOL(alpha_mv);
|
|
+ asm(".global alpha_mv\nalpha_mv = " #system "_mv");
|
|
#endif
|
|
#endif /* GENERIC */
|
|
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c
|
|
index 4811e54069fc..b20af76f12c1 100644
|
|
--- a/arch/alpha/kernel/setup.c
|
|
+++ b/arch/alpha/kernel/setup.c
|
|
@@ -115,7 +115,6 @@ unsigned long alpha_agpgart_size = DEFAULT_AGP_APER_SIZE;
|
|
|
|
#ifdef CONFIG_ALPHA_GENERIC
|
|
struct alpha_machine_vector alpha_mv;
|
|
-EXPORT_SYMBOL(alpha_mv);
|
|
#endif
|
|
|
|
#ifndef alpha_using_srm
|
|
diff --git a/arch/alpha/lib/callback_srm.S b/arch/alpha/lib/callback_srm.S
|
|
index 6093addc931a..8804bec2c644 100644
|
|
--- a/arch/alpha/lib/callback_srm.S
|
|
+++ b/arch/alpha/lib/callback_srm.S
|
|
@@ -3,7 +3,6 @@
|
|
*/
|
|
|
|
#include <asm/console.h>
|
|
-#include <asm/export.h>
|
|
|
|
.text
|
|
#define HWRPB_CRB_OFFSET 0xc0
|
|
@@ -93,10 +92,6 @@ CALLBACK(reset_env, CCB_RESET_ENV, 4)
|
|
CALLBACK(save_env, CCB_SAVE_ENV, 1)
|
|
CALLBACK(pswitch, CCB_PSWITCH, 3)
|
|
CALLBACK(bios_emul, CCB_BIOS_EMUL, 5)
|
|
-
|
|
-EXPORT_SYMBOL(callback_getenv)
|
|
-EXPORT_SYMBOL(callback_setenv)
|
|
-EXPORT_SYMBOL(callback_save_env)
|
|
|
|
.data
|
|
__alpha_using_srm: # For use by bootpheader
|
|
diff --git a/arch/alpha/lib/checksum.c b/arch/alpha/lib/checksum.c
|
|
index b57f8007db14..377f9e34eb97 100644
|
|
--- a/arch/alpha/lib/checksum.c
|
|
+++ b/arch/alpha/lib/checksum.c
|
|
@@ -48,7 +48,6 @@ __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
|
|
(__force u64)saddr + (__force u64)daddr +
|
|
(__force u64)sum + ((len + proto) << 8));
|
|
}
|
|
-EXPORT_SYMBOL(csum_tcpudp_magic);
|
|
|
|
__wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
|
|
__u32 len, __u8 proto, __wsum sum)
|
|
@@ -145,7 +144,6 @@ __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
|
|
{
|
|
return (__force __sum16)~do_csum(iph,ihl*4);
|
|
}
|
|
-EXPORT_SYMBOL(ip_fast_csum);
|
|
|
|
/*
|
|
* computes the checksum of a memory block at buff, length len,
|
|
@@ -180,4 +178,3 @@ __sum16 ip_compute_csum(const void *buff, int len)
|
|
{
|
|
return (__force __sum16)~from64to16(do_csum(buff,len));
|
|
}
|
|
-EXPORT_SYMBOL(ip_compute_csum);
|
|
diff --git a/arch/alpha/lib/clear_page.S b/arch/alpha/lib/clear_page.S
|
|
index 263d7393c0e7..a221ae266e29 100644
|
|
--- a/arch/alpha/lib/clear_page.S
|
|
+++ b/arch/alpha/lib/clear_page.S
|
|
@@ -3,7 +3,7 @@
|
|
*
|
|
* Zero an entire page.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.text
|
|
.align 4
|
|
.global clear_page
|
|
@@ -37,4 +37,3 @@ clear_page:
|
|
nop
|
|
|
|
.end clear_page
|
|
- EXPORT_SYMBOL(clear_page)
|
|
diff --git a/arch/alpha/lib/clear_user.S b/arch/alpha/lib/clear_user.S
|
|
index bf5b931866ba..8860316c1957 100644
|
|
--- a/arch/alpha/lib/clear_user.S
|
|
+++ b/arch/alpha/lib/clear_user.S
|
|
@@ -24,7 +24,6 @@
|
|
* Clobbers:
|
|
* $1,$2,$3,$4,$5,$6
|
|
*/
|
|
-#include <asm/export.h>
|
|
|
|
/* Allow an exception for an insn; exit if we get one. */
|
|
#define EX(x,y...) \
|
|
@@ -112,4 +111,3 @@ $exception:
|
|
ret $31, ($28), 1 # .. e1 :
|
|
|
|
.end __do_clear_user
|
|
- EXPORT_SYMBOL(__do_clear_user)
|
|
diff --git a/arch/alpha/lib/copy_page.S b/arch/alpha/lib/copy_page.S
|
|
index 2ee0bd0508c5..9f3b97459cc6 100644
|
|
--- a/arch/alpha/lib/copy_page.S
|
|
+++ b/arch/alpha/lib/copy_page.S
|
|
@@ -3,7 +3,7 @@
|
|
*
|
|
* Copy an entire page.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.text
|
|
.align 4
|
|
.global copy_page
|
|
@@ -47,4 +47,3 @@ copy_page:
|
|
nop
|
|
|
|
.end copy_page
|
|
- EXPORT_SYMBOL(copy_page)
|
|
diff --git a/arch/alpha/lib/copy_user.S b/arch/alpha/lib/copy_user.S
|
|
index 509f62b65311..ac9c3766ba8c 100644
|
|
--- a/arch/alpha/lib/copy_user.S
|
|
+++ b/arch/alpha/lib/copy_user.S
|
|
@@ -26,8 +26,6 @@
|
|
* $1,$2,$3,$4,$5,$6,$7
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
-
|
|
/* Allow an exception for an insn; exit if we get one. */
|
|
#define EXI(x,y...) \
|
|
99: x,##y; \
|
|
@@ -131,4 +129,3 @@ $exitout:
|
|
ret $31,($28),1
|
|
|
|
.end __copy_user
|
|
-EXPORT_SYMBOL(__copy_user)
|
|
diff --git a/arch/alpha/lib/csum_ipv6_magic.S b/arch/alpha/lib/csum_ipv6_magic.S
|
|
index e74b4544b0cc..2c2acb96deb6 100644
|
|
--- a/arch/alpha/lib/csum_ipv6_magic.S
|
|
+++ b/arch/alpha/lib/csum_ipv6_magic.S
|
|
@@ -12,7 +12,6 @@
|
|
* added by Ivan Kokshaysky <ink@jurassic.park.msu.ru>
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
.globl csum_ipv6_magic
|
|
.align 4
|
|
.ent csum_ipv6_magic
|
|
@@ -114,4 +113,3 @@ csum_ipv6_magic:
|
|
ret # .. e1 :
|
|
|
|
.end csum_ipv6_magic
|
|
- EXPORT_SYMBOL(csum_ipv6_magic)
|
|
diff --git a/arch/alpha/lib/csum_partial_copy.c b/arch/alpha/lib/csum_partial_copy.c
|
|
index b4ff3b683bcd..5675dca8dbb1 100644
|
|
--- a/arch/alpha/lib/csum_partial_copy.c
|
|
+++ b/arch/alpha/lib/csum_partial_copy.c
|
|
@@ -374,7 +374,6 @@ csum_partial_copy_from_user(const void __user *src, void *dst, int len,
|
|
}
|
|
return (__force __wsum)checksum;
|
|
}
|
|
-EXPORT_SYMBOL(csum_partial_copy_from_user);
|
|
|
|
__wsum
|
|
csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum)
|
|
@@ -387,4 +386,3 @@ csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum)
|
|
set_fs(oldfs);
|
|
return checksum;
|
|
}
|
|
-EXPORT_SYMBOL(csum_partial_copy_nocheck);
|
|
diff --git a/arch/alpha/lib/dec_and_lock.c b/arch/alpha/lib/dec_and_lock.c
|
|
index 4221b40167ee..f9f5fe830e9f 100644
|
|
--- a/arch/alpha/lib/dec_and_lock.c
|
|
+++ b/arch/alpha/lib/dec_and_lock.c
|
|
@@ -7,7 +7,6 @@
|
|
|
|
#include <linux/spinlock.h>
|
|
#include <linux/atomic.h>
|
|
-#include <linux/export.h>
|
|
|
|
asm (".text \n\
|
|
.global _atomic_dec_and_lock \n\
|
|
@@ -40,4 +39,3 @@ static int __used atomic_dec_and_lock_1(atomic_t *atomic, spinlock_t *lock)
|
|
spin_unlock(lock);
|
|
return 0;
|
|
}
|
|
-EXPORT_SYMBOL(_atomic_dec_and_lock);
|
|
diff --git a/arch/alpha/lib/divide.S b/arch/alpha/lib/divide.S
|
|
index 1e33bd127621..2d1a0484a99e 100644
|
|
--- a/arch/alpha/lib/divide.S
|
|
+++ b/arch/alpha/lib/divide.S
|
|
@@ -45,7 +45,6 @@
|
|
* $28 - compare status
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
#define halt .long 0
|
|
|
|
/*
|
|
@@ -152,7 +151,6 @@ ufunction:
|
|
addq $30,STACK,$30
|
|
ret $31,($23),1
|
|
.end ufunction
|
|
-EXPORT_SYMBOL(ufunction)
|
|
|
|
/*
|
|
* Uhh.. Ugly signed division. I'd rather not have it at all, but
|
|
@@ -195,4 +193,3 @@ sfunction:
|
|
addq $30,STACK,$30
|
|
ret $31,($23),1
|
|
.end sfunction
|
|
-EXPORT_SYMBOL(sfunction)
|
|
diff --git a/arch/alpha/lib/ev6-clear_page.S b/arch/alpha/lib/ev6-clear_page.S
|
|
index abe99e69a194..adf4f7be0e2b 100644
|
|
--- a/arch/alpha/lib/ev6-clear_page.S
|
|
+++ b/arch/alpha/lib/ev6-clear_page.S
|
|
@@ -3,7 +3,7 @@
|
|
*
|
|
* Zero an entire page.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.text
|
|
.align 4
|
|
.global clear_page
|
|
@@ -52,4 +52,3 @@ clear_page:
|
|
nop
|
|
|
|
.end clear_page
|
|
- EXPORT_SYMBOL(clear_page)
|
|
diff --git a/arch/alpha/lib/ev6-clear_user.S b/arch/alpha/lib/ev6-clear_user.S
|
|
index 05bef6b50598..4f42a16b7f53 100644
|
|
--- a/arch/alpha/lib/ev6-clear_user.S
|
|
+++ b/arch/alpha/lib/ev6-clear_user.S
|
|
@@ -43,7 +43,6 @@
|
|
* want to leave a hole (and we also want to avoid repeating lots of work)
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
/* Allow an exception for an insn; exit if we get one. */
|
|
#define EX(x,y...) \
|
|
99: x,##y; \
|
|
@@ -223,4 +222,4 @@ $exception: # Destination for exception recovery(?)
|
|
nop # .. E .. .. :
|
|
ret $31, ($28), 1 # L0 .. .. .. : L U L U
|
|
.end __do_clear_user
|
|
- EXPORT_SYMBOL(__do_clear_user)
|
|
+
|
|
diff --git a/arch/alpha/lib/ev6-copy_page.S b/arch/alpha/lib/ev6-copy_page.S
|
|
index 77935061bddb..b789db192754 100644
|
|
--- a/arch/alpha/lib/ev6-copy_page.S
|
|
+++ b/arch/alpha/lib/ev6-copy_page.S
|
|
@@ -56,7 +56,7 @@
|
|
destination pages are in the dcache, but it is my guess that this is
|
|
less important than the dcache miss case. */
|
|
|
|
-#include <asm/export.h>
|
|
+
|
|
.text
|
|
.align 4
|
|
.global copy_page
|
|
@@ -201,4 +201,3 @@ copy_page:
|
|
nop
|
|
|
|
.end copy_page
|
|
- EXPORT_SYMBOL(copy_page)
|
|
diff --git a/arch/alpha/lib/ev6-copy_user.S b/arch/alpha/lib/ev6-copy_user.S
|
|
index be720b518af9..c4d0689c3d26 100644
|
|
--- a/arch/alpha/lib/ev6-copy_user.S
|
|
+++ b/arch/alpha/lib/ev6-copy_user.S
|
|
@@ -37,7 +37,6 @@
|
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
/* Allow an exception for an insn; exit if we get one. */
|
|
#define EXI(x,y...) \
|
|
99: x,##y; \
|
|
@@ -236,4 +235,4 @@ $exitout: # Destination for exception recovery(?)
|
|
ret $31,($28),1 # L0 .. .. .. : L U L U
|
|
|
|
.end __copy_user
|
|
- EXPORT_SYMBOL(__copy_user)
|
|
+
|
|
diff --git a/arch/alpha/lib/ev6-csum_ipv6_magic.S b/arch/alpha/lib/ev6-csum_ipv6_magic.S
|
|
index de62627ac4fe..fc0bc399f872 100644
|
|
--- a/arch/alpha/lib/ev6-csum_ipv6_magic.S
|
|
+++ b/arch/alpha/lib/ev6-csum_ipv6_magic.S
|
|
@@ -52,7 +52,6 @@
|
|
* may cause additional delay in rare cases (load-load replay traps).
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
.globl csum_ipv6_magic
|
|
.align 4
|
|
.ent csum_ipv6_magic
|
|
@@ -149,4 +148,3 @@ csum_ipv6_magic:
|
|
ret # L0 : L U L U
|
|
|
|
.end csum_ipv6_magic
|
|
- EXPORT_SYMBOL(csum_ipv6_magic)
|
|
diff --git a/arch/alpha/lib/ev6-divide.S b/arch/alpha/lib/ev6-divide.S
|
|
index d18dc0e96e3d..2a82b9be93fa 100644
|
|
--- a/arch/alpha/lib/ev6-divide.S
|
|
+++ b/arch/alpha/lib/ev6-divide.S
|
|
@@ -55,7 +55,6 @@
|
|
* Try not to change the actual algorithm if possible for consistency.
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
#define halt .long 0
|
|
|
|
/*
|
|
@@ -206,7 +205,6 @@ ufunction:
|
|
addq $30,STACK,$30 # E :
|
|
ret $31,($23),1 # L0 : L U U L
|
|
.end ufunction
|
|
-EXPORT_SYMBOL(ufunction)
|
|
|
|
/*
|
|
* Uhh.. Ugly signed division. I'd rather not have it at all, but
|
|
@@ -259,4 +257,3 @@ sfunction:
|
|
addq $30,STACK,$30 # E :
|
|
ret $31,($23),1 # L0 : L U U L
|
|
.end sfunction
|
|
-EXPORT_SYMBOL(sfunction)
|
|
diff --git a/arch/alpha/lib/ev6-memchr.S b/arch/alpha/lib/ev6-memchr.S
|
|
index 419adc53ccb4..1a5f71b9d8b1 100644
|
|
--- a/arch/alpha/lib/ev6-memchr.S
|
|
+++ b/arch/alpha/lib/ev6-memchr.S
|
|
@@ -27,7 +27,7 @@
|
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
|
* Try not to change the actual algorithm if possible for consistency.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.set noreorder
|
|
.set noat
|
|
|
|
@@ -189,4 +189,3 @@ $not_found:
|
|
ret # L0 :
|
|
|
|
.end memchr
|
|
- EXPORT_SYMBOL(memchr)
|
|
diff --git a/arch/alpha/lib/ev6-memcpy.S b/arch/alpha/lib/ev6-memcpy.S
|
|
index b19798b2efc0..52b37b0f2af5 100644
|
|
--- a/arch/alpha/lib/ev6-memcpy.S
|
|
+++ b/arch/alpha/lib/ev6-memcpy.S
|
|
@@ -19,7 +19,7 @@
|
|
* Temp usage notes:
|
|
* $1,$2, - scratch
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.set noreorder
|
|
.set noat
|
|
|
|
@@ -242,7 +242,6 @@ $nomoredata:
|
|
nop # E :
|
|
|
|
.end memcpy
|
|
- EXPORT_SYMBOL(memcpy)
|
|
|
|
/* For backwards module compatibility. */
|
|
__memcpy = memcpy
|
|
diff --git a/arch/alpha/lib/ev6-memset.S b/arch/alpha/lib/ev6-memset.S
|
|
index fed21c6893e8..356bb2fdd705 100644
|
|
--- a/arch/alpha/lib/ev6-memset.S
|
|
+++ b/arch/alpha/lib/ev6-memset.S
|
|
@@ -26,7 +26,7 @@
|
|
* as fixes will need to be made in multiple places. The performance gain
|
|
* is worth it.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.set noat
|
|
.set noreorder
|
|
.text
|
|
@@ -229,7 +229,6 @@ end_b:
|
|
nop
|
|
ret $31,($26),1 # L0 :
|
|
.end ___memset
|
|
- EXPORT_SYMBOL(___memset)
|
|
|
|
/*
|
|
* This is the original body of code, prior to replication and
|
|
@@ -407,7 +406,6 @@ end:
|
|
nop
|
|
ret $31,($26),1 # L0 :
|
|
.end __constant_c_memset
|
|
- EXPORT_SYMBOL(__constant_c_memset)
|
|
|
|
/*
|
|
* This is a replicant of the __constant_c_memset code, rescheduled
|
|
@@ -596,9 +594,6 @@ end_w:
|
|
ret $31,($26),1 # L0 :
|
|
|
|
.end __memsetw
|
|
- EXPORT_SYMBOL(__memsetw)
|
|
|
|
memset = ___memset
|
|
__memset = ___memset
|
|
- EXPORT_SYMBOL(memset)
|
|
- EXPORT_SYMBOL(__memset)
|
|
diff --git a/arch/alpha/lib/ev67-strcat.S b/arch/alpha/lib/ev67-strcat.S
|
|
index b69f60419be1..c426fe3ed72f 100644
|
|
--- a/arch/alpha/lib/ev67-strcat.S
|
|
+++ b/arch/alpha/lib/ev67-strcat.S
|
|
@@ -19,7 +19,7 @@
|
|
* string once.
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
+
|
|
.text
|
|
|
|
.align 4
|
|
@@ -52,4 +52,3 @@ $found: cttz $2, $3 # U0 :
|
|
br __stxcpy # L0 :
|
|
|
|
.end strcat
|
|
- EXPORT_SYMBOL(strcat)
|
|
diff --git a/arch/alpha/lib/ev67-strchr.S b/arch/alpha/lib/ev67-strchr.S
|
|
index ea8f2f35db9c..fbb7b4ffade9 100644
|
|
--- a/arch/alpha/lib/ev67-strchr.S
|
|
+++ b/arch/alpha/lib/ev67-strchr.S
|
|
@@ -15,7 +15,7 @@
|
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
|
* Try not to change the actual algorithm if possible for consistency.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
#include <asm/regdef.h>
|
|
|
|
.set noreorder
|
|
@@ -86,4 +86,3 @@ $found: negq t0, t1 # E : clear all but least set bit
|
|
ret # L0 :
|
|
|
|
.end strchr
|
|
- EXPORT_SYMBOL(strchr)
|
|
diff --git a/arch/alpha/lib/ev67-strlen.S b/arch/alpha/lib/ev67-strlen.S
|
|
index 736fd41884a8..503928072523 100644
|
|
--- a/arch/alpha/lib/ev67-strlen.S
|
|
+++ b/arch/alpha/lib/ev67-strlen.S
|
|
@@ -17,7 +17,7 @@
|
|
* U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1
|
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.set noreorder
|
|
.set noat
|
|
|
|
@@ -47,4 +47,3 @@ $found:
|
|
ret $31, ($26) # L0 :
|
|
|
|
.end strlen
|
|
- EXPORT_SYMBOL(strlen)
|
|
diff --git a/arch/alpha/lib/ev67-strncat.S b/arch/alpha/lib/ev67-strncat.S
|
|
index cd35cbade73a..4ae716cd2bfb 100644
|
|
--- a/arch/alpha/lib/ev67-strncat.S
|
|
+++ b/arch/alpha/lib/ev67-strncat.S
|
|
@@ -20,7 +20,7 @@
|
|
* Try not to change the actual algorithm if possible for consistency.
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
+
|
|
.text
|
|
|
|
.align 4
|
|
@@ -92,4 +92,3 @@ $zerocount:
|
|
ret # L0 :
|
|
|
|
.end strncat
|
|
- EXPORT_SYMBOL(strncat)
|
|
diff --git a/arch/alpha/lib/ev67-strrchr.S b/arch/alpha/lib/ev67-strrchr.S
|
|
index 747455f0328c..dd0d8c6b9f59 100644
|
|
--- a/arch/alpha/lib/ev67-strrchr.S
|
|
+++ b/arch/alpha/lib/ev67-strrchr.S
|
|
@@ -18,7 +18,7 @@
|
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
|
*/
|
|
|
|
-#include <asm/export.h>
|
|
+
|
|
#include <asm/regdef.h>
|
|
|
|
.set noreorder
|
|
@@ -107,4 +107,3 @@ $eos:
|
|
nop
|
|
|
|
.end strrchr
|
|
- EXPORT_SYMBOL(strrchr)
|
|
diff --git a/arch/alpha/lib/fpreg.c b/arch/alpha/lib/fpreg.c
|
|
index 4aa6dbfa14ee..05017ba34c3c 100644
|
|
--- a/arch/alpha/lib/fpreg.c
|
|
+++ b/arch/alpha/lib/fpreg.c
|
|
@@ -4,9 +4,6 @@
|
|
* (C) Copyright 1998 Linus Torvalds
|
|
*/
|
|
|
|
-#include <linux/compiler.h>
|
|
-#include <linux/export.h>
|
|
-
|
|
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
|
|
#define STT(reg,val) asm volatile ("ftoit $f"#reg",%0" : "=r"(val));
|
|
#else
|
|
@@ -55,7 +52,6 @@ alpha_read_fp_reg (unsigned long reg)
|
|
}
|
|
return val;
|
|
}
|
|
-EXPORT_SYMBOL(alpha_read_fp_reg);
|
|
|
|
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
|
|
#define LDT(reg,val) asm volatile ("itoft %0,$f"#reg : : "r"(val));
|
|
@@ -101,7 +97,6 @@ alpha_write_fp_reg (unsigned long reg, unsigned long val)
|
|
case 31: LDT(31, val); break;
|
|
}
|
|
}
|
|
-EXPORT_SYMBOL(alpha_write_fp_reg);
|
|
|
|
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
|
|
#define STS(reg,val) asm volatile ("ftois $f"#reg",%0" : "=r"(val));
|
|
@@ -151,7 +146,6 @@ alpha_read_fp_reg_s (unsigned long reg)
|
|
}
|
|
return val;
|
|
}
|
|
-EXPORT_SYMBOL(alpha_read_fp_reg_s);
|
|
|
|
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
|
|
#define LDS(reg,val) asm volatile ("itofs %0,$f"#reg : : "r"(val));
|
|
@@ -197,4 +191,3 @@ alpha_write_fp_reg_s (unsigned long reg, unsigned long val)
|
|
case 31: LDS(31, val); break;
|
|
}
|
|
}
|
|
-EXPORT_SYMBOL(alpha_write_fp_reg_s);
|
|
diff --git a/arch/alpha/lib/memchr.S b/arch/alpha/lib/memchr.S
|
|
index c13d3eca2e05..14427eeb555e 100644
|
|
--- a/arch/alpha/lib/memchr.S
|
|
+++ b/arch/alpha/lib/memchr.S
|
|
@@ -31,7 +31,7 @@ For correctness consider that:
|
|
- only minimum number of quadwords may be accessed
|
|
- the third argument is an unsigned long
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.set noreorder
|
|
.set noat
|
|
|
|
@@ -162,4 +162,3 @@ $not_found:
|
|
ret # .. e1 :
|
|
|
|
.end memchr
|
|
- EXPORT_SYMBOL(memchr)
|
|
diff --git a/arch/alpha/lib/memcpy.c b/arch/alpha/lib/memcpy.c
|
|
index 57d9291ad172..64083fc73238 100644
|
|
--- a/arch/alpha/lib/memcpy.c
|
|
+++ b/arch/alpha/lib/memcpy.c
|
|
@@ -16,7 +16,6 @@
|
|
*/
|
|
|
|
#include <linux/types.h>
|
|
-#include <linux/export.h>
|
|
|
|
/*
|
|
* This should be done in one go with ldq_u*2/mask/stq_u. Do it
|
|
@@ -159,4 +158,6 @@ void * memcpy(void * dest, const void *src, size_t n)
|
|
__memcpy_unaligned_up ((unsigned long) dest, (unsigned long) src, n);
|
|
return dest;
|
|
}
|
|
-EXPORT_SYMBOL(memcpy);
|
|
+
|
|
+/* For backward modules compatibility, define __memcpy. */
|
|
+asm("__memcpy = memcpy; .globl __memcpy");
|
|
diff --git a/arch/alpha/lib/memmove.S b/arch/alpha/lib/memmove.S
|
|
index 6872c85cb5e5..eb3b6e02242f 100644
|
|
--- a/arch/alpha/lib/memmove.S
|
|
+++ b/arch/alpha/lib/memmove.S
|
|
@@ -6,7 +6,7 @@
|
|
* This is hand-massaged output from the original memcpy.c. We defer to
|
|
* memcpy whenever possible; the backwards copy loops are not unrolled.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.set noat
|
|
.set noreorder
|
|
.text
|
|
@@ -179,4 +179,3 @@ $egress:
|
|
nop
|
|
|
|
.end memmove
|
|
- EXPORT_SYMBOL(memmove)
|
|
diff --git a/arch/alpha/lib/memset.S b/arch/alpha/lib/memset.S
|
|
index 89a26f5e89de..76ccc6d1f364 100644
|
|
--- a/arch/alpha/lib/memset.S
|
|
+++ b/arch/alpha/lib/memset.S
|
|
@@ -13,7 +13,7 @@
|
|
* The scheduling comments are according to the EV5 documentation (and done by
|
|
* hand, so they might well be incorrect, please do tell me about it..)
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.set noat
|
|
.set noreorder
|
|
.text
|
|
@@ -106,8 +106,6 @@ within_one_quad:
|
|
end:
|
|
ret $31,($26),1 /* E1 */
|
|
.end ___memset
|
|
-EXPORT_SYMBOL(___memset)
|
|
-EXPORT_SYMBOL(__constant_c_memset)
|
|
|
|
.align 5
|
|
.ent __memsetw
|
|
@@ -124,9 +122,6 @@ __memsetw:
|
|
br __constant_c_memset /* .. E1 */
|
|
|
|
.end __memsetw
|
|
-EXPORT_SYMBOL(__memsetw)
|
|
|
|
memset = ___memset
|
|
__memset = ___memset
|
|
- EXPORT_SYMBOL(memset)
|
|
- EXPORT_SYMBOL(__memset)
|
|
diff --git a/arch/alpha/lib/strcat.S b/arch/alpha/lib/strcat.S
|
|
index 249837b03d4b..393f50384878 100644
|
|
--- a/arch/alpha/lib/strcat.S
|
|
+++ b/arch/alpha/lib/strcat.S
|
|
@@ -4,7 +4,6 @@
|
|
*
|
|
* Append a null-terminated string from SRC to DST.
|
|
*/
|
|
-#include <asm/export.h>
|
|
|
|
.text
|
|
|
|
@@ -51,4 +50,3 @@ $found: negq $2, $3 # clear all but least set bit
|
|
br __stxcpy
|
|
|
|
.end strcat
|
|
-EXPORT_SYMBOL(strcat);
|
|
diff --git a/arch/alpha/lib/strchr.S b/arch/alpha/lib/strchr.S
|
|
index 7412a173ea39..011a175e8329 100644
|
|
--- a/arch/alpha/lib/strchr.S
|
|
+++ b/arch/alpha/lib/strchr.S
|
|
@@ -5,7 +5,7 @@
|
|
* Return the address of a given character within a null-terminated
|
|
* string, or null if it is not found.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
#include <asm/regdef.h>
|
|
|
|
.set noreorder
|
|
@@ -68,4 +68,3 @@ $retnull:
|
|
ret # .. e1 :
|
|
|
|
.end strchr
|
|
- EXPORT_SYMBOL(strchr)
|
|
diff --git a/arch/alpha/lib/strcpy.S b/arch/alpha/lib/strcpy.S
|
|
index 98deae1e4d08..e0728e4ad21f 100644
|
|
--- a/arch/alpha/lib/strcpy.S
|
|
+++ b/arch/alpha/lib/strcpy.S
|
|
@@ -5,7 +5,7 @@
|
|
* Copy a null-terminated string from SRC to DST. Return a pointer
|
|
* to the null-terminator in the source.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.text
|
|
|
|
.align 3
|
|
@@ -21,4 +21,3 @@ strcpy:
|
|
br __stxcpy # do the copy
|
|
|
|
.end strcpy
|
|
- EXPORT_SYMBOL(strcpy)
|
|
diff --git a/arch/alpha/lib/strlen.S b/arch/alpha/lib/strlen.S
|
|
index 79c416f71bac..fe63353de152 100644
|
|
--- a/arch/alpha/lib/strlen.S
|
|
+++ b/arch/alpha/lib/strlen.S
|
|
@@ -11,7 +11,7 @@
|
|
* do this instead of the 9 instructions that
|
|
* binary search needs).
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.set noreorder
|
|
.set noat
|
|
|
|
@@ -55,4 +55,3 @@ done: subq $0, $16, $0
|
|
ret $31, ($26)
|
|
|
|
.end strlen
|
|
- EXPORT_SYMBOL(strlen)
|
|
diff --git a/arch/alpha/lib/strncat.S b/arch/alpha/lib/strncat.S
|
|
index 6c29ea60869a..a8278163c972 100644
|
|
--- a/arch/alpha/lib/strncat.S
|
|
+++ b/arch/alpha/lib/strncat.S
|
|
@@ -9,7 +9,7 @@
|
|
* past count, whereas libc may write to count+1. This follows the generic
|
|
* implementation in lib/string.c and is, IMHO, more sensible.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.text
|
|
|
|
.align 3
|
|
@@ -82,4 +82,3 @@ $zerocount:
|
|
ret
|
|
|
|
.end strncat
|
|
- EXPORT_SYMBOL(strncat)
|
|
diff --git a/arch/alpha/lib/strncpy.S b/arch/alpha/lib/strncpy.S
|
|
index e102cf1567dd..a46f7f3ad8c7 100644
|
|
--- a/arch/alpha/lib/strncpy.S
|
|
+++ b/arch/alpha/lib/strncpy.S
|
|
@@ -10,7 +10,7 @@
|
|
* version has cropped that bit o' nastiness as well as assuming that
|
|
* __stxncpy is in range of a branch.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
.set noat
|
|
.set noreorder
|
|
|
|
@@ -79,4 +79,3 @@ $zerolen:
|
|
ret
|
|
|
|
.end strncpy
|
|
- EXPORT_SYMBOL(strncpy)
|
|
diff --git a/arch/alpha/lib/strrchr.S b/arch/alpha/lib/strrchr.S
|
|
index 4bc6cb4b9812..1970dc07cfd1 100644
|
|
--- a/arch/alpha/lib/strrchr.S
|
|
+++ b/arch/alpha/lib/strrchr.S
|
|
@@ -5,7 +5,7 @@
|
|
* Return the address of the last occurrence of a given character
|
|
* within a null-terminated string, or null if it is not found.
|
|
*/
|
|
-#include <asm/export.h>
|
|
+
|
|
#include <asm/regdef.h>
|
|
|
|
.set noreorder
|
|
@@ -85,4 +85,3 @@ $retnull:
|
|
ret # .. e1 :
|
|
|
|
.end strrchr
|
|
- EXPORT_SYMBOL(strrchr)
|