On Tue, Jul 25, 2006 at 10:49:56AM +0800, wyb@topsec.com.cn wrote:
> I met similar problem as Stanislaw Skowronek, but for gcc 3.4.3. I created a
> kernel module, when insmod, kernel reported "dangerous relocation". I traced
> the bug, found unmatched R_MIPS_HI16/LO16 in module's elf file, and kernel
> refused to relocate:
> ...
> 00015a5c 00039a05 R_MIPS_HI16 0000000c tos_net_debug
> 00015a68 00000204 R_MIPS_26 00000000 .text
> 00015a64 00046005 R_MIPS_HI16 0006b598 arp_proxy_list
> 00015a6c 00046006 R_MIPS_LO16 0006b598 arp_proxy_list
> ...
>
> My problem arised when expression on tos_net_debug could be optimized out,
> it seemed like gcc optimized out the LO16, but left HI16.
>
> The original discussion on similar problem is at
> http://www.linux-mips.org/archives/linux-mips/2005-05/msg00097.html
Do you have a testcase, a kernel .config file to trigger this?
Ralf
|