Search Linux Wireless

Re: Uknown symbols in rfkill_backport.ko on 2.6.25.17 on mips

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 25 Jul 2012 18:10:38 +0000 (UTC)
Mijzelf <Mijzelf@xxxxxxxx> wrote:

> Thanks. I was able to compile the input module, and this issue is
> solved.
> 
> Now a new one pops up:
> /tmpfs/root # modprobe ath9k
> modprobe: can't load module mac80211
> (updates/net/mac80211/mac80211.ko): unknown symbol in module, or
> unknown parameter /tmpfs/root # dmesg 
> mac80211: Unknown symbol _flush_cache
> 
> I grepped the source tree, and the word 'flush_cache' only exists in
> the objects of mac80211.ko. So I suppose it's some macro expansion.
> But I also grepped all include files in my kernel tree, and
> flush_cache only appeared 4 times:
> 
> ./drivers/scsi/ips.h:   IPS_FC_CMD         flush_cache;
> ./drivers/video/i810/i810_main.h:static inline void flush_cache(void)
> ./drivers/video/i810/i810_main.h:#define flush_cache() do { } while(0)
> ./arch/powerpc/boot/ops.h:extern void flush_cache(void *, unsigned
> long);
> 
> It seems to me no one of these can cause a symbol _flush_cache in a
> module. 

I agree.

> Because the symbol is in the object files, I suppose it cannot added
> by some library either. (Are there any libraries linked against
> kernel modules?)

No.  Everything used by the modules should be provided by symbols
exported by the kernel.

> Where does this come from? 

My guess is that either it's a result of some clever macro expansion
(so that the source doesn't have "flush_cache") or gcc inserts that call
(perhaps hoping that libgcc has it) but the kernel doesn't satisfy it.

First of all, make sure that you are making a clean build and there are
no object files left from older builds.

Then find the object file that calls _flush_cache.  Recompile the
corresponding source file with "-save-temps".  Look for "flush_cache"
in the *.i and the *.s file.  Try to find out where it comes from.

-- 
Regards,
Pavel Roskin
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux