lkml.org 
[lkml]   [1997]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subjectasm/smp_lock.h and modules...
Date
Being the good little kernel hacker, I'm building everything...

It all builds just fine -- now. But, anything that includes smp_lock.h
will not be loadable with MODVERSIONS enabled. I have chased it back to:
../../include/asm/smp_lock.h line 71/94 byte 1793/1793 (END) (press RETURN)
extern __inline__ void unlock_kernel(void)
{
__asm__ __volatile__("
pushfl
cli
decl %0
jnz 1f
movb %1, " __STR(active_kernel_processor) "
lock
btrl $0, " __STR(kernel_flag) "
1:
popfl
" : /* no outputs */
: "m" (current->lock_depth), "i" (NO_PROC_ID)
: "ax", "memory");
}

The __STR() appears to be preventing the versioned symbol information from
being pushed in place. It looks like this after cpp:
extern __inline__ void unlock_kernel(void)
{
__asm__ __volatile__("
pushfl
cli
decl %0
jnz 1f
movb %1, " "active_kernel_processor" "
lock
btrl $0, " "kernel_flag" "
1:
popfl
" :
: "m" (( current_set_R5f33c60c [smp_processor_id()]) ->lock_depth), "i" (0xFF )
: "ax", "memory");
}

I can usually fix most problems, but I'm gonna stay clear of the __asm__
sections. This is not absolutely critical as only a few modules will not
load:
[root:tty8]dominion:linux-2.1.36/fs/nfsd/[11:32pm]:depmod -a -e
*** Unresolved symbols in module /lib/modules/2.1.36/fs/nfsd.o
kernel_flag
active_kernel_processor
*** Unresolved symbols in module /lib/modules/2.1.36/net/ltpc.o
ltalk_setup

[I don't have a localtalk_pc card, and I don't need nfsd. <grin> Do you
really wanna see the kernel config. I'll post an integrated patch of things
that need to be updated (queue_task_irq_off for one) later.]

--Ricky

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