fixes from 2.2.0.1, and various COW fixes
[linux-2.6.git] / arch / powerpc / kernel / vmlinux.lds.S
index fe79c25..04b8e71 100644 (file)
@@ -1,4 +1,3 @@
-#include <linux/config.h>
 #ifdef CONFIG_PPC64
 #include <asm/page.h>
 #define PROVIDE32(x)   PROVIDE(__unused__##x)
@@ -34,6 +33,7 @@ SECTIONS
 
        /* Text and gots */
        .text : {
+               _text = .;
                *(.text .text.*)
                SCHED_TEXT
                LOCK_TEXT
@@ -62,11 +62,7 @@ SECTIONS
                __stop___ex_table = .;
        }
 
-       __bug_table : {
-               __start___bug_table = .;
-               *(__bug_table)
-               __stop___bug_table = .;
-       }
+       BUG_TABLE
 
 /*
  * Init sections discarded at runtime
@@ -93,6 +89,11 @@ SECTIONS
                __ptov_table_begin = .;
                *(.ptov_fixup);
                __ptov_table_end = .;
+#ifdef CONFIG_PPC_ISERIES
+               __dt_strings_start = .;
+               *(.dt_strings);
+               __dt_strings_end = .;
+#endif
        }
 
        . = ALIGN(16);
@@ -104,13 +105,7 @@ SECTIONS
 
        .initcall.init : {
                __initcall_start = .;
-               *(.initcall1.init)
-               *(.initcall2.init)
-               *(.initcall3.init)
-               *(.initcall4.init)
-               *(.initcall5.init)
-               *(.initcall6.init)
-               *(.initcall7.init)
+               INITCALLS
                __initcall_end = .;
                }
 
@@ -128,6 +123,14 @@ SECTIONS
                *(__ftr_fixup)
                __stop___ftr_fixup = .;
        }
+#ifdef CONFIG_PPC64
+       . = ALIGN(8);
+       __fw_ftr_fixup : {
+               __start___fw_ftr_fixup = .;
+               *(__fw_ftr_fixup)
+               __stop___fw_ftr_fixup = .;
+       }
+#endif
 
        . = ALIGN(PAGE_SIZE);
        .init.ramfs : {