* [patch] 2.4.6-pre3 unresolved symbol do_softirq @ 2001-06-13 12:07 Keith Owens 2001-06-13 12:13 ` David S. Miller 0 siblings, 1 reply; 21+ messages in thread From: Keith Owens @ 2001-06-13 12:07 UTC (permalink / raw) To: torvalds; +Cc: linux-kernel do_softirq is called from asm code which does not get preprocessed. It needs to be exported with no version. Against 2.4.6-pre3. Note to users: you must run make mrproper after applying this patch. Index: 6-pre3.1/kernel/ksyms.c --- 6-pre3.1/kernel/ksyms.c Sat, 09 Jun 2001 11:25:53 +1000 kaos (linux-2.4/j/46_ksyms.c 1.1.2.2.1.1.2.1.1.8.2.1.2.1 644) +++ 6-pre3.1(w)/kernel/ksyms.c Wed, 13 Jun 2001 22:04:07 +1000 kaos (linux-2.4/j/46_ksyms.c 1.1.2.2.1.1.2.1.1.8.2.1.2.1 644) @@ -536,7 +536,7 @@ EXPORT_SYMBOL(remove_bh); EXPORT_SYMBOL(tasklet_init); EXPORT_SYMBOL(tasklet_kill); EXPORT_SYMBOL(__run_task_queue); -EXPORT_SYMBOL(do_softirq); +EXPORT_SYMBOL_NOVERS(do_softirq); EXPORT_SYMBOL(tasklet_schedule); EXPORT_SYMBOL(tasklet_hi_schedule); ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 12:07 [patch] 2.4.6-pre3 unresolved symbol do_softirq Keith Owens @ 2001-06-13 12:13 ` David S. Miller 2001-06-13 13:48 ` Jeff Garzik ` (3 more replies) 0 siblings, 4 replies; 21+ messages in thread From: David S. Miller @ 2001-06-13 12:13 UTC (permalink / raw) To: Keith Owens; +Cc: torvalds, linux-kernel Keith Owens writes: > do_softirq is called from asm code which does not get preprocessed. > It needs to be exported with no version. It can get preprocessed if you know how. Simply use the "i" asm constraint for an extra argument, and use the symbol there. For example: __asm__("%0" : : "i" (my_versioned_symbol)); It works and we've been doing it on sparc for ages. Later, David S. Miller davem@redhat.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 12:13 ` David S. Miller @ 2001-06-13 13:48 ` Jeff Garzik 2001-06-13 14:03 ` Keith Owens 2001-06-13 14:06 ` David S. Miller 2001-06-13 13:58 ` Keith Owens ` (2 subsequent siblings) 3 siblings, 2 replies; 21+ messages in thread From: Jeff Garzik @ 2001-06-13 13:48 UTC (permalink / raw) To: David S. Miller; +Cc: Keith Owens, torvalds, linux-kernel "David S. Miller" wrote: > > Keith Owens writes: > > do_softirq is called from asm code which does not get preprocessed. > > It needs to be exported with no version. > > It can get preprocessed if you know how. Simply use the "i" asm > constraint for an extra argument, and use the symbol there. For > example: > > __asm__("%0" : : "i" (my_versioned_symbol)); > > It works and we've been doing it on sparc for ages. how to do this in foo.S code? -- Jeff Garzik | Andre the Giant has a posse. Building 1024 | MandrakeSoft | ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 13:48 ` Jeff Garzik @ 2001-06-13 14:03 ` Keith Owens 2001-06-13 14:06 ` David S. Miller 1 sibling, 0 replies; 21+ messages in thread From: Keith Owens @ 2001-06-13 14:03 UTC (permalink / raw) To: Jeff Garzik; +Cc: David S. Miller, torvalds, linux-kernel On Wed, 13 Jun 2001 09:48:33 -0400, Jeff Garzik <jgarzik@mandrakesoft.com> wrote: >"David S. Miller" wrote: >> It can get preprocessed if you know how. Simply use the "i" asm >> constraint for an extra argument, and use the symbol there. > >how to do this in foo.S code? Fortunately it is not a problem for foo.S code - yet. External symbol references only need module version pre-processing when the code is in a module. AFAIK no *.S code is compiled into a module, all *.S code is built into vmlinux, this is why I did not use this argument myself. OTOH if any *.S code is compiled into a module then all symbols it refers to must be EXPORT_SYMBOL_NOVERS(). ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 13:48 ` Jeff Garzik 2001-06-13 14:03 ` Keith Owens @ 2001-06-13 14:06 ` David S. Miller 2001-06-13 14:11 ` Keith Owens 2001-06-13 14:15 ` David S. Miller 1 sibling, 2 replies; 21+ messages in thread From: David S. Miller @ 2001-06-13 14:06 UTC (permalink / raw) To: Keith Owens; +Cc: Jeff Garzik, torvalds, linux-kernel Keith Owens writes: > OTOH if any *.S code is compiled into a module then all symbols it > refers to must be EXPORT_SYMBOL_NOVERS(). Why not just add --include modversions.h to the gcc command line to build it, why wouldn't this work? Later, David S. Miller davem@redhat.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:06 ` David S. Miller @ 2001-06-13 14:11 ` Keith Owens 2001-06-13 14:15 ` David S. Miller 1 sibling, 0 replies; 21+ messages in thread From: Keith Owens @ 2001-06-13 14:11 UTC (permalink / raw) To: David S. Miller; +Cc: Jeff Garzik, linux-kernel On Wed, 13 Jun 2001 07:06:42 -0700 (PDT), "David S. Miller" <davem@redhat.com> wrote: > >Keith Owens writes: > > OTOH if any *.S code is compiled into a module then all symbols it > > refers to must be EXPORT_SYMBOL_NOVERS(). > >Why not just add --include modversions.h to the gcc command line to >build it, why wouldn't this work? Assembler code is not hooked into the generic module symbol version handling. Every .S rule is unique and I'm not going to change every one. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:06 ` David S. Miller 2001-06-13 14:11 ` Keith Owens @ 2001-06-13 14:15 ` David S. Miller 2001-06-13 14:37 ` Keith Owens 1 sibling, 1 reply; 21+ messages in thread From: David S. Miller @ 2001-06-13 14:15 UTC (permalink / raw) To: Keith Owens; +Cc: Jeff Garzik, linux-kernel Keith Owens writes: > On Wed, 13 Jun 2001 07:06:42 -0700 (PDT), > "David S. Miller" <davem@redhat.com> wrote: > > > >Keith Owens writes: > > > OTOH if any *.S code is compiled into a module then all symbols it > > > refers to must be EXPORT_SYMBOL_NOVERS(). > > > >Why not just add --include modversions.h to the gcc command line to > >build it, why wouldn't this work? > > Assembler code is not hooked into the generic module symbol version > handling. Every .S rule is unique and I'm not going to change every > one. Why not make a ASM_CPP_DEFINES that all those rules use? Surely this is a smaller hammer than making them all NOVERS(), I think all of these workarounds with novers for assembly are silly and are merely looking for a solution which nobody (perhaps except me :-) is bothering to look for. Later, David S. Miller davem@redhat.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:15 ` David S. Miller @ 2001-06-13 14:37 ` Keith Owens 0 siblings, 0 replies; 21+ messages in thread From: Keith Owens @ 2001-06-13 14:37 UTC (permalink / raw) To: David S. Miller; +Cc: Jeff Garzik, linux-kernel On Wed, 13 Jun 2001 07:15:31 -0700 (PDT), "David S. Miller" <davem@redhat.com> wrote: >Surely this is a smaller hammer than making them all NOVERS(), I >think all of these workarounds with novers for assembly are silly and >are merely looking for a solution which nobody (perhaps except me :-) >is bothering to look for. modversions.h will disappear in 2.5 anyway, and be replaced with a cleaner system of symbol versions which does not rely on pre-processor fudging of symbol names. It should be able to handle assembler as well as C. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 12:13 ` David S. Miller 2001-06-13 13:48 ` Jeff Garzik @ 2001-06-13 13:58 ` Keith Owens 2001-06-13 13:58 ` David S. Miller 2001-06-13 14:01 ` David S. Miller 3 siblings, 0 replies; 21+ messages in thread From: Keith Owens @ 2001-06-13 13:58 UTC (permalink / raw) To: David S. Miller; +Cc: torvalds, linux-kernel On Wed, 13 Jun 2001 05:13:02 -0700 (PDT), "David S. Miller" <davem@redhat.com> wrote: >Keith Owens writes: > > do_softirq is called from asm code which does not get preprocessed. > > It needs to be exported with no version. > >It can get preprocessed if you know how. Simply use the "i" asm >constraint for an extra argument, and use the symbol there. For >example: > > __asm__("%0" : : "i" (my_versioned_symbol)); > >It works and we've been doing it on sparc for ages. It works for integers but call do_softirq is more of a problem. I could not find an asm constraint that generated correct code in a single instruction. The closest I could get was __asm__("call *%%eax" : : "a" (do_softirq)); The 'obvious' __asm__("call %0" : : "m" (do_softirq)); calls to a location that contains the address of do_softirq, oops. Any other architectures that call do_softirq inside asm would need similar hard coding of indirect branches. It is simpler to export do_softirq with no version, and have cleaner asm. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 12:13 ` David S. Miller 2001-06-13 13:48 ` Jeff Garzik 2001-06-13 13:58 ` Keith Owens @ 2001-06-13 13:58 ` David S. Miller 2001-06-13 14:01 ` David S. Miller 3 siblings, 0 replies; 21+ messages in thread From: David S. Miller @ 2001-06-13 13:58 UTC (permalink / raw) To: Jeff Garzik; +Cc: Keith Owens, torvalds, linux-kernel Jeff Garzik writes: > how to do this in foo.S code? foo.S goes through the preprocessor already. Later, David S. Miller davem@redhat.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 12:13 ` David S. Miller ` (2 preceding siblings ...) 2001-06-13 13:58 ` David S. Miller @ 2001-06-13 14:01 ` David S. Miller 2001-06-13 14:09 ` Keith Owens 2001-06-13 14:21 ` David S. Miller 3 siblings, 2 replies; 21+ messages in thread From: David S. Miller @ 2001-06-13 14:01 UTC (permalink / raw) To: Keith Owens; +Cc: torvalds, linux-kernel Keith Owens writes: > It works for integers but call do_softirq is more of a problem. I > could not find an asm constraint that generated correct code in a > single instruction. The closest I could get was > __asm__("call *%%eax" : : "a" (do_softirq)); > The 'obvious' > __asm__("call %0" : : "m" (do_softirq)); > calls to a location that contains the address of do_softirq, oops. > > Any other architectures that call do_softirq inside asm would need > similar hard coding of indirect branches. It is simpler to export > do_softirq with no version, and have cleaner asm. Why doesn't this work on x86? #define my_symbol my_symbol_versioned extern void my_symbol(void); __asm__("call %0" : : "i" (my_symbol)); Later, David S. Miller davem@redhat.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:01 ` David S. Miller @ 2001-06-13 14:09 ` Keith Owens 2001-06-13 14:31 ` Bill Pringlemeir 2001-06-13 14:21 ` David S. Miller 1 sibling, 1 reply; 21+ messages in thread From: Keith Owens @ 2001-06-13 14:09 UTC (permalink / raw) To: David S. Miller; +Cc: torvalds, linux-kernel On Wed, 13 Jun 2001 07:01:34 -0700 (PDT), "David S. Miller" <davem@redhat.com> wrote: >Why doesn't this work on x86? > >#define my_symbol my_symbol_versioned >extern void my_symbol(void); > >__asm__("call %0" : : "i" (my_symbol)); #define my_symbol my_symbol_versioned extern void my_symbol(void); void foo(void) { __asm__("call %0" : : "i" (my_symbol)); } # gcc -o x x.c /tmp/cclWXduj.s: Assembler messages: /tmp/cclWXduj.s:12: Error: suffix or operands invalid for `call' ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:09 ` Keith Owens @ 2001-06-13 14:31 ` Bill Pringlemeir 2001-06-13 14:39 ` Keith Owens 0 siblings, 1 reply; 21+ messages in thread From: Bill Pringlemeir @ 2001-06-13 14:31 UTC (permalink / raw) To: Keith Owens; +Cc: David S. Miller, torvalds, linux-kernel >>>>> "Keith" == Keith Owens <kaos@ocs.com.au> writes: Keith> #define my_symbol my_symbol_versioned extern void Keith> my_symbol(void); Keith> void foo(void) { __asm__("call %0" : : "i" (my_symbol)); } Keith> # gcc -o x x.c /tmp/cclWXduj.s: Assembler messages: Keith> /tmp/cclWXduj.s:12: Error: suffix or operands invalid for Keith> `call' Try ye' olde STRINGIFY and string concatenation? Well, at least I try... #define my_symbol my_symbol_versioned #define STRINGIFY(a) STRINGIFY1(a) #define STRINGIFY1(a) #a extern void my_symbol(void); void foo(void) { __asm__("call " STRINGIFY(my_symbol) "\n"); } [bpringle@localhost bpringle]$ gcc -o x x.c /usr/lib/crt1.o(.text+0x18): undefined reference to `main' /tmp/ccIj9Cit.o: In function `foo': /tmp/ccIj9Cit.o(.text+0x4): undefined reference to `my_symbol_versioned' collect2: ld returned 1 exit status regards, Bill Pringlemeir. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:31 ` Bill Pringlemeir @ 2001-06-13 14:39 ` Keith Owens 0 siblings, 0 replies; 21+ messages in thread From: Keith Owens @ 2001-06-13 14:39 UTC (permalink / raw) To: Bill Pringlemeir; +Cc: David S. Miller, linux-kernel On 13 Jun 2001 10:31:22 -0400, Bill Pringlemeir <bpringle@sympatico.ca> wrote: >Try ye' olde STRINGIFY and string concatenation? Well, at least I try... > > #define my_symbol my_symbol_versioned > #define STRINGIFY(a) STRINGIFY1(a) > #define STRINGIFY1(a) #a > extern void my_symbol(void); > > void foo(void) > { > __asm__("call " STRINGIFY(my_symbol) "\n"); > } > > [bpringle@localhost bpringle]$ gcc -o x x.c > /usr/lib/crt1.o(.text+0x18): undefined reference to `main' > /tmp/ccIj9Cit.o: In function `foo': > /tmp/ccIj9Cit.o(.text+0x4): undefined reference to `my_symbol_versioned' Only at the cost of polluting every .h file that calls a symbol from __asm__. The whole pre-processor kludge for symbol versions goes away in 2.5 so live with _novers for now. ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:01 ` David S. Miller 2001-06-13 14:09 ` Keith Owens @ 2001-06-13 14:21 ` David S. Miller 2001-06-13 14:37 ` Andrew Morton ` (3 more replies) 1 sibling, 4 replies; 21+ messages in thread From: David S. Miller @ 2001-06-13 14:21 UTC (permalink / raw) To: Keith Owens; +Cc: torvalds, linux-kernel Keith Owens writes: > #define my_symbol my_symbol_versioned > extern void my_symbol(void); > > void foo(void) { __asm__("call %0" : : "i" (my_symbol)); } > > # gcc -o x x.c > /tmp/cclWXduj.s: Assembler messages: > /tmp/cclWXduj.s:12: Error: suffix or operands invalid for `call' I can't believe there is no reliable way to get rid of that pesky "$" gcc is adding to the symbol. Oh well... Later, David S. Miller davem@redhat.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:21 ` David S. Miller @ 2001-06-13 14:37 ` Andrew Morton 2001-06-13 14:44 ` Andreas Schwab ` (2 subsequent siblings) 3 siblings, 0 replies; 21+ messages in thread From: Andrew Morton @ 2001-06-13 14:37 UTC (permalink / raw) To: David S. Miller; +Cc: Keith Owens, torvalds, linux-kernel "David S. Miller" wrote: > > Keith Owens writes: > > #define my_symbol my_symbol_versioned > > extern void my_symbol(void); > > > > void foo(void) { __asm__("call %0" : : "i" (my_symbol)); } > > > > # gcc -o x x.c > > /tmp/cclWXduj.s: Assembler messages: > > /tmp/cclWXduj.s:12: Error: suffix or operands invalid for `call' > > I can't believe there is no reliable way to get rid of that > pesky "$" gcc is adding to the symbol. Oh well... void foo(void) { __asm__("call %c0" : : "i" (my_symbol)); } ^^^ - ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:21 ` David S. Miller 2001-06-13 14:37 ` Andrew Morton @ 2001-06-13 14:44 ` Andreas Schwab 2001-06-13 14:53 ` Russell King 2001-06-13 14:52 ` Russell King 2001-06-13 14:55 ` David S. Miller 3 siblings, 1 reply; 21+ messages in thread From: Andreas Schwab @ 2001-06-13 14:44 UTC (permalink / raw) To: David S. Miller; +Cc: Keith Owens, torvalds, linux-kernel "David S. Miller" <davem@redhat.com> writes: |> Keith Owens writes: |> > #define my_symbol my_symbol_versioned |> > extern void my_symbol(void); |> > |> > void foo(void) { __asm__("call %0" : : "i" (my_symbol)); } |> > |> > # gcc -o x x.c |> > /tmp/cclWXduj.s: Assembler messages: |> > /tmp/cclWXduj.s:12: Error: suffix or operands invalid for `call' |> |> I can't believe there is no reliable way to get rid of that |> pesky "$" gcc is adding to the symbol. Oh well... Use %c0. *Note Output Templates and Operand Substitution: (gcc)Output Template. Andreas. -- Andreas Schwab "And now for something SuSE Labs completely different." Andreas.Schwab@suse.de SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:44 ` Andreas Schwab @ 2001-06-13 14:53 ` Russell King 0 siblings, 0 replies; 21+ messages in thread From: Russell King @ 2001-06-13 14:53 UTC (permalink / raw) To: Andreas Schwab; +Cc: David S. Miller, Keith Owens, torvalds, linux-kernel On Wed, Jun 13, 2001 at 04:44:40PM +0200, Andreas Schwab wrote: > Use %c0. *Note Output Templates and Operand Substitution: (gcc)Output > Template. Oh great! I can get rid of some more crap from the ARM tree! Thanks. -- Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:21 ` David S. Miller 2001-06-13 14:37 ` Andrew Morton 2001-06-13 14:44 ` Andreas Schwab @ 2001-06-13 14:52 ` Russell King 2001-06-13 14:55 ` David S. Miller 3 siblings, 0 replies; 21+ messages in thread From: Russell King @ 2001-06-13 14:52 UTC (permalink / raw) To: David S. Miller; +Cc: Keith Owens, torvalds, linux-kernel On Wed, Jun 13, 2001 at 07:21:41AM -0700, David S. Miller wrote: > I can't believe there is no reliable way to get rid of that > pesky "$" gcc is adding to the symbol. Oh well... GCC on ARM does a similar thing - all constants in the assembler are prefixed with '#' or '@'. Using the 'i' constraint adds this. This behaviour is actually useful when you want to pass a constant or a register - it allows GCC to make the decision for you, and do the right thing in the assembler fragment. Eg, the following code used to be in the kernel until 2.3: extern __inline__ void __outb (unsigned int value, unsigned int port) { unsigned long temp; __asm__ __volatile__( "tst %2, #0x80000000\n\t" "mov %0, %4\n\t" "addeq %0, %0, %3\n\t" "strb %1, [%0, %2, lsl #2] @ outb" : "=&r" (temp) : "r" (value), "r" (port), "Ir" (PCIO_BASE - IO_BASE), "Ir" (IO_BASE) : "cc"); } %3 and %4 might be a constant: mov r5, #0x03000000 or a real register if the constant can't be loaded in one instruction: mov r5, r1 'I' in this case means "a constant suitable for use with the arithmetic instructions". -- Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:21 ` David S. Miller ` (2 preceding siblings ...) 2001-06-13 14:52 ` Russell King @ 2001-06-13 14:55 ` David S. Miller 2001-06-13 16:39 ` Keith Owens 3 siblings, 1 reply; 21+ messages in thread From: David S. Miller @ 2001-06-13 14:55 UTC (permalink / raw) To: Andreas Schwab; +Cc: Keith Owens, torvalds, linux-kernel Andreas Schwab writes: > "David S. Miller" <davem@redhat.com> writes: > > |> I can't believe there is no reliable way to get rid of that > |> pesky "$" gcc is adding to the symbol. Oh well... > > Use %c0. *Note Output Templates and Operand Substitution: (gcc)Output > Template. Nice, see Keith? There are no excuses :-) Later, David S. Miller davem@redhat.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq 2001-06-13 14:55 ` David S. Miller @ 2001-06-13 16:39 ` Keith Owens 0 siblings, 0 replies; 21+ messages in thread From: Keith Owens @ 2001-06-13 16:39 UTC (permalink / raw) To: David S. Miller; +Cc: Andreas Schwab, torvalds, linux-kernel On Wed, 13 Jun 2001 07:55:49 -0700 (PDT), "David S. Miller" <davem@redhat.com> wrote: > >Andreas Schwab writes: > > "David S. Miller" <davem@redhat.com> writes: > > > > |> I can't believe there is no reliable way to get rid of that > > |> pesky "$" gcc is adding to the symbol. Oh well... > > > > Use %c0. *Note Output Templates and Operand Substitution: (gcc)Output > > Template. > >Nice, see Keith? There are no excuses :-) Oh, there are always excuses ;). But in this case ... Index: 6-pre3.1/include/asm-i386/softirq.h --- 6-pre3.1/include/asm-i386/softirq.h Sat, 09 Jun 2001 11:25:53 +1000 kaos (linux-2.4/T/51_softirq.h 1.3 644) +++ 6-pre3.1(w)/include/asm-i386/softirq.h Thu, 14 Jun 2001 02:26:16 +1000 kaos (linux-2.4/T/51_softirq.h 1.3 644) @@ -36,13 +36,13 @@ do { \ \ ".section .text.lock,\"ax\";" \ "2: pushl %%eax; pushl %%ecx; pushl %%edx;" \ - "call do_softirq;" \ + "call %c1;" \ "popl %%edx; popl %%ecx; popl %%eax;" \ "jmp 1b;" \ ".previous;" \ \ : /* no output */ \ - : "r" (ptr) \ + : "r" (ptr), "i" (do_softirq) \ /* no registers clobbered */ ); \ } while (0) No changes to kernel/ksyms, it still says EXPORT_SYMBOL(do_softirq); I like it. ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2001-06-13 16:40 UTC | newest] Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2001-06-13 12:07 [patch] 2.4.6-pre3 unresolved symbol do_softirq Keith Owens 2001-06-13 12:13 ` David S. Miller 2001-06-13 13:48 ` Jeff Garzik 2001-06-13 14:03 ` Keith Owens 2001-06-13 14:06 ` David S. Miller 2001-06-13 14:11 ` Keith Owens 2001-06-13 14:15 ` David S. Miller 2001-06-13 14:37 ` Keith Owens 2001-06-13 13:58 ` Keith Owens 2001-06-13 13:58 ` David S. Miller 2001-06-13 14:01 ` David S. Miller 2001-06-13 14:09 ` Keith Owens 2001-06-13 14:31 ` Bill Pringlemeir 2001-06-13 14:39 ` Keith Owens 2001-06-13 14:21 ` David S. Miller 2001-06-13 14:37 ` Andrew Morton 2001-06-13 14:44 ` Andreas Schwab 2001-06-13 14:53 ` Russell King 2001-06-13 14:52 ` Russell King 2001-06-13 14:55 ` David S. Miller 2001-06-13 16:39 ` Keith Owens
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).