This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Relocation problem with MIPS kernel modules
- From: David VomLehn <dvomlehn at cisco dot com>
- To: David Daney <ddaney at caviumnetworks dot com>
- Cc: GCC Help Mailing List <gcc-help at gcc dot gnu dot org>, Linux MIPS Mailing List <linux-mips at linux-mips dot org>
- Date: Thu, 30 Jul 2009 14:26:38 -0700
- Subject: Re: Relocation problem with MIPS kernel modules
- Authentication-results: sj-dkim-2; header.From=dvomlehn@cisco.com; dkim=pass ( sig from cisco.com/sjdkim2002 verified; );
- References: <20090730184923.GA27030@cuplxvomd02.corp.sa.net> <4A71F15E.8040507@caviumnetworks.com>
On Thu, Jul 30, 2009 at 12:15:42PM -0700, David Daney wrote:
> David VomLehn wrote:
>> I have a MIPS loadable kernel module that, when I try to insmod it, causes the
>> kernel to emit the message:
>>
>> module xyz: dangerous relocation
...
>> So, who the heck knows what gcc and the linker are really generating and can
>> anyone suggest an algorithm for handling R_MIPS_HI16/R_MIPS_LO16 relocation
>> entries correctly?
>
> Without seeing your object module I am guessing.
>
> Q: What version of binutils and GCC are you using?
>
> It is the assembler's responsibility to properly sort the relocations.
> Some versions of binutils have bugs in this area. If you are not using
> 2.19.1, I suggest that you upgrade.
>
> Unless you are compiling with -fsection-anchors there should be pairs of
> R_MIPS_HI16/R_MIPS_LO16 relocations.
We are downrev in our tool set; I'll try a newer version. Thanks!
> David Daney
David VomLehn