Re: Relocation problem with MIPS kernel modules

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

 



On Mon, Aug 03, 2009 at 10:20:30AM +0100, Ralf Baechle wrote:
> On Thu, Jul 30, 2009 at 11:49:23AM -0700, David VomLehn wrote:
> 
> > To: GCC Help Mailing List <gcc-help@xxxxxxxxxxx>,
> > 	Linux MIPS Mailing List <linux-mips@xxxxxxxxxxxxxx>
> > Subject: Relocation problem with MIPS kernel modules
> > Content-Type: text/plain; charset=us-ascii
> > 
> > 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
...
> > According to the MIPS ABI, for what it's worth, "Each relocation type of
> > R_MIPS_HI16 must have an associated R_MIPS_LO16 entry immediately following
> > it in the list of relocations." So, what's actually getting generated by
> > gcc and linker differs from the closest thing we have to an ABI of record for
> > MIPS processors.
> 
> The GNU tools as an extension over the MIPS ABI allows an arbitrary number of
> R_MIPS_HI16 relocations to be followed by a R_MIPS_LO16 symbol.  All
> relocations of this sequence must use the same symbol, of course.  This is
> a very old extension; I think it predates the Linux/MIPS port.

Perhaps a foolish question, but is this documented anywhere? I know there is a
a document over at http://gcc.gnu.org/gcc-3.4/mips-abi.html addressing some
other MIPS ABI changes, but I didn't see this one. Obviously, we could put
documentation on the linux-mips Wiki, with pointers to other documents, but
I'm not sure this is the right place. I'm also concerned there could be other
ABI changes/extensions that need to be included.

>   Ralf

David

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux