Messages in this thread Patch in this message |  | | From | lilo <> | Date | Fri, 10 May 1996 21:18:41 -0500 (CDT) | Subject | kdebug-1.1 on kernel 1.3.100, unresolved symbols for kdebug.o |
| |
Hi All,
Using `depmod -a' to resolve symbols required to load kdebug.o, I get the following (I'm running modules-1.3.69f):
*** Unresolved symbols in module /lib/modules/1.3.100/misc/kdebug.o _save _reg _call printk high_memory vverify simple_strtoul current_set register_chrdev unregister_chrdev
I assume these problems are due to the relative age of the package. If someone's played with this I'd appreciate some feedback. I used the following patches against the kernel source. It's final examination time, so I'm being a bit tied up, but would appreciate any help! :)
lilo
--- linux/Makefile Wed May 8 02:33:17 1996 +++ linux/Makefile.NEW Fri May 10 12:33:10 1996 @@ -87,7 +87,7 @@ # standard CFLAGS # -CFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strength-reduce +CFLAGS = -Wall -Wstrict-prototypes -O0 -g -fno-strength-reduce ifdef CONFIG_CPP CFLAGS := $(CFLAGS) -x c++ --- linux/include/linux/mm.h Fri May 10 03:33:52 1996 +++ linux/include/linux/mm.h.NEW Fri May 10 12:28:21 1996 @@ -280,6 +280,7 @@ extern void * vremap(unsigned long offset, unsigned long size); extern void vfree(void * addr); extern int vread(char *buf, char *addr, int count); +extern int vverify(char *addr, int count); /* mmap.c */ extern unsigned long do_mmap(struct file * file, unsigned long addr, unsigned long len, --- linux/kernel/ksyms.c Sat Apr 27 16:45:54 1996 +++ linux/kernel/ksyms.c.NEW Fri May 10 12:28:21 1996 @@ -130,6 +130,7 @@ X(vmalloc), X(vremap), X(vfree), + X(vverify), X(mem_map), X(remap_page_range), X(high_memory), --- linux/mm/vmalloc.c Wed Apr 3 01:59:33 1996 +++ linux/mm/vmalloc.c.NEW Fri May 10 12:28:21 1996 @@ -349,3 +349,18 @@ finished: return buf - buf_start; } + +int vverify(char *addr, int count) +{ + struct vm_struct **p, *tmp; + char *vaddr; + + for (p = &vmlist; (tmp = *p) ; p = &tmp->next) { + vaddr = (char *) tmp->addr; + if (addr < vaddr) + return -EPERM; + if (addr+count <= vaddr+tmp->size-PAGE_SIZE) + return 0; + } + return -EPERM; +}
|  |