Messages in this thread Patch in this message | | | Date | Tue, 07 May 2002 16:42:25 -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).
--- 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_p_local(14, vidport); + outb_p_local(0xff & (pos >> 9), vidport+1); + outb_p_local(15, vidport); + outb_p_local(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/
| |