patch-2.1.18 linux/arch/alpha/kernel/ksyms.c
Next file: linux/arch/alpha/kernel/traps.c
Previous file: linux/arch/alpha/kernel/entry.S
Back to the patch index
Back to the overall index
- Lines: 157
- Date:
Fri Dec 27 12:03:19 1996
- Orig file:
v2.1.17/linux/arch/alpha/kernel/ksyms.c
- Orig date:
Thu Oct 10 19:10:54 1996
diff -u --recursive --new-file v2.1.17/linux/arch/alpha/kernel/ksyms.c linux/arch/alpha/kernel/ksyms.c
@@ -12,6 +12,7 @@
#include <linux/elfcore.h>
#include <asm/io.h>
#include <asm/hwrpb.h>
+#include <asm/uaccess.h>
extern void bcopy (const char *src, char *dst, int len);
extern struct hwrpb_struct *hwrpb;
@@ -30,83 +31,71 @@
extern int dump_fpu(struct pt_regs *, elf_fpregset_t *);
-static struct symbol_table arch_symbol_table = {
-#include <linux/symtab_begin.h>
- /* platform dependent support */
-
- X(_inb),
- X(_inw),
- X(_inl),
- X(_outb),
- X(_outw),
- X(_outl),
- X(_readb),
- X(_readw),
- X(_readl),
- X(_writeb),
- X(_writew),
- X(_writel),
- X(__divl),
- X(__reml),
- X(__divq),
- X(__remq),
- X(__divlu),
- X(__remlu),
- X(__divqu),
- X(__remqu),
- X(insb),
- X(insw),
- X(insl),
- X(outsb),
- X(outsw),
- X(outsl),
- X(strcat),
- X(strcmp),
- X(strcpy),
- X(strlen),
- X(strncmp),
- X(strncpy),
- X(strnlen),
- X(strstr),
- X(strtok),
- X(strchr),
- X(memcmp),
- X(memmove),
- X(__memcpy),
- X(__constant_c_memset),
-
- X(dump_thread),
- X(dump_fpu),
- X(hwrpb),
- X(wrusp),
-
- /*
- * 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.
- */
+/* platform dependent support */
+EXPORT_SYMBOL(_inb);
+EXPORT_SYMBOL(_inw);
+EXPORT_SYMBOL(_inl);
+EXPORT_SYMBOL(_outb);
+EXPORT_SYMBOL(_outw);
+EXPORT_SYMBOL(_outl);
+EXPORT_SYMBOL(_readb);
+EXPORT_SYMBOL(_readw);
+EXPORT_SYMBOL(_readl);
+EXPORT_SYMBOL(_writeb);
+EXPORT_SYMBOL(_writew);
+EXPORT_SYMBOL(_writel);
+EXPORT_SYMBOL(insb);
+EXPORT_SYMBOL(insw);
+EXPORT_SYMBOL(insl);
+EXPORT_SYMBOL(outsb);
+EXPORT_SYMBOL(outsw);
+EXPORT_SYMBOL(outsl);
+EXPORT_SYMBOL(strcat);
+EXPORT_SYMBOL(strcmp);
+EXPORT_SYMBOL(strcpy);
+EXPORT_SYMBOL(strlen);
+EXPORT_SYMBOL(strncmp);
+EXPORT_SYMBOL(strncpy);
+EXPORT_SYMBOL(strnlen);
+EXPORT_SYMBOL(strstr);
+EXPORT_SYMBOL(strtok);
+EXPORT_SYMBOL(strchr);
+EXPORT_SYMBOL(memcmp);
+EXPORT_SYMBOL(memmove);
+EXPORT_SYMBOL(__memcpy);
+EXPORT_SYMBOL(__memset);
+EXPORT_SYMBOL(__constant_c_memset);
+
+EXPORT_SYMBOL(dump_thread);
+EXPORT_SYMBOL(dump_fpu);
+EXPORT_SYMBOL(hwrpb);
+EXPORT_SYMBOL(wrusp);
+
+/*
+ * The following are specially called from the uaccess assembly stubs.
+ */
+EXPORT_SYMBOL_NOVERS(__copy_user);
+EXPORT_SYMBOL_NOVERS(__clear_user);
+EXPORT_SYMBOL(__strncpy_from_user);
+EXPORT_SYMBOL(__strlen_user);
+
+/*
+ * 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 bcopy
# undef memcpy
# undef memset
- XNOVERS(__divl),
- XNOVERS(__divlu),
- XNOVERS(__divq),
- XNOVERS(__divqu),
- XNOVERS(__reml),
- XNOVERS(__remlu),
- XNOVERS(__remq),
- XNOVERS(__remqu),
- XNOVERS(memcpy),
- XNOVERS(memset),
- /* these shouldn't be necessary---they should be versioned: */
- XNOVERS(__memcpy),
- XNOVERS(__memset),
-#include <linux/symtab_end.h>
-};
-
-void arch_syms_export(void)
-{
- register_symtab(&arch_symbol_table);
-}
+EXPORT_SYMBOL_NOVERS(__divl);
+EXPORT_SYMBOL_NOVERS(__divlu);
+EXPORT_SYMBOL_NOVERS(__divq);
+EXPORT_SYMBOL_NOVERS(__divqu);
+EXPORT_SYMBOL_NOVERS(__reml);
+EXPORT_SYMBOL_NOVERS(__remlu);
+EXPORT_SYMBOL_NOVERS(__remq);
+EXPORT_SYMBOL_NOVERS(__remqu);
+EXPORT_SYMBOL_NOVERS(memcpy);
+EXPORT_SYMBOL_NOVERS(memset);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov