Messages in this thread Patch in this message | | | Date | Tue, 07 May 2002 17:14:19 -0700 | From | "Martin J. Bligh" <> | Subject | Re: 2.5.14-dj1: misc.o: undefined reference to `__io_virt_debug' |
| |
>>> Compiling misc.c with -O0 gives a better error message: >>> >>> <-- snip --> >>> >>> ... >>> ld -m elf_i386 -Ttext 0x100000 -e startup_32 -o bvmlinux head.o misc.o >>> piggy.o >>> misc.o: In function `outb_quad': >>> misc.o(.text+0x289c): undefined reference to `__io_virt_debug' >>> make[2]: *** [bvmlinux] Error 1 >>> make[2]: Leaving directory >>> `/home/bunk/linux/kernel-2.5/linux-2.5.14-modular/arch/i386/boot/compressed' >> >> Seems like you're not linking in lib/iodebug.c for some reason. >> >> outb_quad calls readb, which calls __io_virt, which calls __io_virt_debug, >> which is defined in iodebug.c > > Does this fix it ? (completely untested, and against an old version ... sorry).
There was a typo in this between outb_p_local and outb_local_p inconsistency fixed below:
--- virgin-2.5.9-dj1/arch/i386/boot/compressed/misc.c Mon Apr 22 15:29:26 2002 +++ virgin-2.5.9-dj1/arch/i386/boot/compressed/misc.c.local Tue May 7 16:39:39 2002 @@ -202,10 +202,10 @@ SCREEN_INFO.orig_y = y; pos = (x + cols * y) * 2; /* Update cursor position */ - outb_p(14, vidport); - outb_p(0xff & (pos >> 9), vidport+1); - outb_p(15, vidport); - outb_p(0xff & (pos >> 1), vidport+1); + outb_local_p(14, vidport); + outb_local_p(0xff & (pos >> 9), vidport+1); + outb_local_p(15, vidport); + outb_local_p(0xff & (pos >> 1), vidport+1); } static void* memset(void* s, int c, size_t n) --- virgin-2.5.9-dj1/include/asm-i386/io.h Tue Apr 23 14:19:39 2002 +++ virgin-2.5.9-dj1/include/asm-i386/io.h.local Tue May 7 16:38:56 2002 @@ -371,6 +371,15 @@ __asm__ __volatile__("in" #bwl " %w1, %" #bw "0" : "=a"(value) : "Nd"(port)); \ return value; \ } \ +static inline void out##bwl##_local_p(unsigned type value, int port) { \ + out##bwl##_local(value, port); \ + slow_down_io(); \ +} \ +static inline unsigned type in##bwl##_local_p(int port) { \ + unsigned type value = in##bwl##_local(port); \ + slow_down_io(); \ + return value; \ +} \ __BUILDIO(bwl,bw,type) \ static inline void out##bwl##_p(unsigned type value, int port) { \ out##bwl(value, port); \ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |