Messages in this thread | | | Date | Wed, 24 Apr 1996 19:36:33 -0700 | From | "Leonard N. Zubkoff" <> | Subject | Re: BusLogic-1.2.2 / Linux 1.2.13 compile error |
| |
Date: Wed, 24 Apr 96 21:27 CDT From: jms@pobox.com
I've tried MANY kernel builds with different patch configurations. The BusLogic 1.2.2 driver and the linux-elf patch seem to be mutually-exclusive.
I extracted the linux-1.2.13 source, applied the BusLogic 1.2.2 driver patch and the linux-elf patch. A build resulted in the final vmlinux ld failing with numerous undefined references in the disable_irq function of kernel.o. Does anyone know how to get an elf 1.2.13 with the new driver?
Well, this finally explains a thing or two. I suspect that it's the use of '_' versus nothing on symbol names that's causing the problem, most likely with the new BUILD_TIMER_IRQ macro in irq.h.
I don't run an ELF system yet so someone's going to have to volunteer as a test site...
I suspect that just removing the initial underscores on the symbols as I've done below would take care of the problem. Someone please test this theory out please.
Leonard
#define BUILD_TIMER_IRQ(chip,nr,mask) \ asmlinkage void IRQ_NAME(nr); \ asmlinkage void FAST_IRQ_NAME(nr); \ asmlinkage void BAD_IRQ_NAME(nr); \ __asm__( \ "\n.align 4\n" \ "fast_IRQ" #nr "_interrupt:\n\t" \ "bad_IRQ" #nr "_interrupt:\n\t" \ "IRQ" #nr "_interrupt:\n\t" \ "pushl $-"#nr"-2\n\t" \ SAVE_ALL \ ACK_##chip(mask) \ "incl intr_count\n\t"\ "movl %esp,%ebx\n\t" \ "pushl %ebx\n\t" \ "pushl $" #nr "\n\t" \ "call do_IRQ\n\t" \ "addl $8,%esp\n\t" \ "cli\n\t" \ UNBLK_##chip(mask) \ "decl intr_count\n\t" \ "jmp ret_from_sys_call\n");
#endif
| |