linux-mips
[Top] [All Lists]

Re: unmatched R_MIPS_HI16/LO16 on gcc 3.4.3

To: wyb@topsec.com.cn
Subject: Re: unmatched R_MIPS_HI16/LO16 on gcc 3.4.3
From: Ralf Baechle <ralf@linux-mips.org>
Date: Mon, 24 Jul 2006 23:44:24 -0400
Cc: macro@linux-mips.org, sskowron@ET.PUT.Poznan.PL.redhat.com, rsandifo@redhat.com, linux-mips@linux-mips.org
In-reply-to: <004001c6af95$14585900$0100000a@codingman>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <004001c6af95$14585900$0100000a@codingman>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.4.2.1i
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

<Prev in Thread] Current Thread [Next in Thread>