<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.linux-mips.org/mediawiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.linux-mips.org/wiki?title=Modules&amp;feed=atom&amp;action=history</id>
		<title>Modules - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.linux-mips.org/wiki?title=Modules&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.linux-mips.org/wiki?title=Modules&amp;action=history"/>
		<updated>2013-06-19T06:55:28Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>//www.linux-mips.org/wiki?title=Modules&amp;diff=6246&amp;oldid=prev</id>
		<title>Ralf at 13:03, 11 November 2004</title>
		<link rel="alternate" type="text/html" href="http://www.linux-mips.org/wiki?title=Modules&amp;diff=6246&amp;oldid=prev"/>
				<updated>2004-11-11T13:03:33Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Insmod complains about the _gp_disp symbol being undefined ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;_gp_disp&amp;lt;/code&amp;gt; is a magic symbol used with PIC code on MIPS.  Be happy, this error message saved you from crashing your system.  You should use the same compiler options to compile a kernel module as the kernel makefiles do.  In particular the options &amp;lt;code&amp;gt;-fno-pic -mno-abicalls&amp;lt;/code&amp;gt; are important.&lt;br /&gt;
&lt;br /&gt;
== Loading a module results in relocation overflow errors ==&lt;br /&gt;
&lt;br /&gt;
The attempt to load a module results in relocation overflow messages for virtually every function used in the kernel:&lt;br /&gt;
&lt;br /&gt;
  mymod.o: Relocation overflow of type 4 for printk&lt;br /&gt;
  mymod.o: Relocation overflow of type 4 for printk&lt;br /&gt;
  mymod.o: Relocation overflow of type 4 for printk&lt;br /&gt;
  mymod.o: Relocation overflow of type 4 for alloc_etherdev&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
This error is caused by the limited range of relocation type 4 (R_MIPS26) which due to it's 26-bit offset only has a 28-bit reach.  Modules and kernels happen to be located very far from each other and as the result this 28-bit range is insufficient.  Insmod, not being stupid notices the problem and issues this error message.&lt;br /&gt;
&lt;br /&gt;
The solution is the same as in the previous section.  When compiling a kernel you ''must'' use the same compiler flags for modules as your actual kernel source is using in this particular kernel configuration.  These are different from the flags that are used during the build of the kernel itself. In this particular case the module was built without &amp;lt;code&amp;gt;-mlong-calls&amp;lt;/code&amp;gt; which is causing this kind of error.&lt;/div&gt;</summary>
		<author><name>Ralf</name></author>	</entry>

	</feed>