lkml.org 
[lkml]   [1996]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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


\
 
 \ /
  Last update: 2005-03-22 13:36    [W:0.302 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site