lkml.org 
[lkml]   [2001]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: missing symbol do_softirq in net moduels for pre-2
On 09 June 2001, Ed Tomlinson wrote:

>in the arch code for softirq we now have:
>
>+#define local_bh_enable() \
>+do { \
>+ unsigned int *ptr = &local_bh_count(smp_processor_id()); \
>+ \
>+ if (!--*ptr) \
>+ __asm__ __volatile__ ( \
>+ "cmpl $0, -8(%0);" \
>+ "jnz 2f;" \
>+ "1:;" \
>+ \
>+ ".section .text.lock,\"ax\";" \
>+ "2: pushl %%eax; pushl %%ecx; pushl %%edx;" \
>+ "call do_softirq;"
>
>What has to happen to get assembly code to version the symbol?

I have verified that the versioning of the do_softirq symbol above is
the source of the problems in 2.4.6-pre2: I made two copies of the
local_bh_enable macro, one with the versioning hash explicitly
appended to the symbol, and chose between with #ifdef MODULE.
Everything works fine now.

Of course, this is ugly, ugly, ugly, so hopefully someone will answer
Ed's question as to the correct way of doing this.

Cheers, Wayne

-
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/

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