diff -urpNX dontdiff linux-2.5.43/arch/i386/vmlinux.lds.S linux-2.5.43-willy/arch/i386/vmlinux.lds.S
--- linux-2.5.43/arch/i386/vmlinux.lds.S	2002-10-11 05:23:56.000000000 -0700
+++ linux-2.5.43-willy/arch/i386/vmlinux.lds.S	2002-10-16 06:34:00.000000000 -0700
@@ -41,11 +41,11 @@ SECTIONS
 
   . = ALIGN(4096);		/* Init code and data */
   __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
+  .init.text : { *(.init.text) }
+  .init.data : { *(.init.data) }
   . = ALIGN(16);
   __setup_start = .;
-  .setup.init : { *(.setup.init) }
+  .init.setup : { *(.init.setup) }
   __setup_end = .;
   __initcall_start = .;
   .initcall.init : {
@@ -89,8 +89,8 @@ SECTIONS
 
   /* Sections to be discarded */
   /DISCARD/ : {
-	*(.text.exit)
-	*(.data.exit)
+	*(.exit.text)
+	*(.exit.data)
 	*(.exitcall.exit)
 	}
 
diff -urpNX dontdiff linux-2.5.43/include/linux/init.h linux-2.5.43-willy/include/linux/init.h
--- linux-2.5.43/include/linux/init.h	2002-08-13 19:54:03.000000000 -0700
+++ linux-2.5.43-willy/include/linux/init.h	2002-10-16 06:00:22.000000000 -0700
@@ -93,18 +93,18 @@ extern struct kernel_param __setup_start
  * Mark functions and data as being only used at initialization
  * or exit time.
  */
-#define __init		__attribute__ ((__section__ (".text.init")))
-#define __exit		__attribute__ ((unused, __section__(".text.exit")))
-#define __initdata	__attribute__ ((__section__ (".data.init")))
-#define __exitdata	__attribute__ ((unused, __section__ (".data.exit")))
-#define __initsetup	__attribute__ ((unused,__section__ (".setup.init")))
+#define __init		__attribute__ ((__section__ (".init.text")))
+#define __exit		__attribute__ ((unused, __section__(".exit.text")))
+#define __initdata	__attribute__ ((__section__ (".init.data")))
+#define __exitdata	__attribute__ ((unused, __section__ (".exit.data")))
+#define __initsetup	__attribute__ ((unused,__section__ (".init.setup")))
 #define __init_call(level)  __attribute__ ((unused,__section__ (".initcall" level ".init")))
 #define __exit_call	__attribute__ ((unused,__section__ (".exitcall.exit")))
 
 /* For assembly routines */
-#define __INIT		.section	".text.init","ax"
+#define __INIT		.section	".init.text","ax"
 #define __FINIT		.previous
-#define __INITDATA	.section	".data.init","aw"
+#define __INITDATA	.section	".init.data","aw"
 
 /**
  * module_init() - driver initialization entry point
