Re: 2.5.68-bk11: .text.exit errors in .altinstructions

From: Andi Kleen (ak@muc.de)
Date: Fri May 02 2003 - 13:52:29 EST


On Fri, May 02, 2003 at 07:13:56PM +0200, Adrian Bunk wrote:
> Hi Andi,
>
> I'm getting the following .text.exit errors in 2.5.68-bk11 (kernel
> compiled with gcc 2.95 for a K6):

That's what I feared. You have a prefetch or mb() in an __exit
function. Basically it's an binutils design bug, but hard to fix
according to the binutils hackers.

The only fix I know currently is to remove the .exit.text
discard from arch/i386/vmlinux.lds.S. It'll increase the kernel
text size slightly because functions that would only be needed
for module unload in some drivers will be compiled in too.
But it's probably not too bad, at worst a few KB.

-Andi

Index: linux/arch/i386/vmlinux.lds.S
===================================================================
RCS file: /home/cvs/linux-2.5/arch/i386/vmlinux.lds.S,v
retrieving revision 1.18
diff -u -u -r1.18 vmlinux.lds.S
--- linux/arch/i386/vmlinux.lds.S 30 Apr 2003 14:32:05 -0000 1.18
+++ linux/arch/i386/vmlinux.lds.S 2 May 2003 17:52:38 -0000
@@ -106,7 +106,6 @@
 
   /* Sections to be discarded */
   /DISCARD/ : {
- *(.exit.text)
         *(.exit.data)
         *(.exitcall.exit)
         }

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 07 2003 - 22:00:16 EST