]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/kernel/vmlinux.lds.S
Merge branch 'for-linus' of ssh://master.kernel.org/pub/scm/linux/kernel/git/hskinnem...
[linux-2.6-omap-h63xx.git] / arch / powerpc / kernel / vmlinux.lds.S
index 132067313147b37d107e3402e83b938fcc915e7a..823a8cbd60b5bffd1025cff71ee2b56e0c751f76 100644 (file)
@@ -7,6 +7,7 @@
 #define PROVIDE32(x)   PROVIDE(x)
 #endif
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/cache.h>
 
 ENTRY(_stext)
 
@@ -33,8 +34,10 @@ SECTIONS
 
        /* Text and gots */
        .text : {
+               ALIGN_FUNCTION();
+               *(.text.head)
                _text = .;
-               *(.text .text.*)
+               TEXT_TEXT
                SCHED_TEXT
                LOCK_TEXT
                KPROBES_TEXT
@@ -62,6 +65,8 @@ SECTIONS
                __stop___ex_table = .;
        }
 
+       NOTES
+
        BUG_TABLE
 
 /*
@@ -143,6 +148,7 @@ SECTIONS
        .data.percpu : {
                __per_cpu_start = .;
                *(.data.percpu)
+               *(.data.percpu.shared_aligned)
                __per_cpu_end = .;
        }
 
@@ -167,13 +173,15 @@ SECTIONS
 #ifdef CONFIG_PPC32
        .data    :
        {
-               *(.data)
+               DATA_DATA
                *(.sdata)
                *(.got.plt) *(.got)
        }
 #else
        .data : {
-               *(.data .data.rel* .toc1)
+               DATA_DATA
+               *(.data.rel*)
+               *(.toc1)
                *(.branch_lt)
        }
 
@@ -211,6 +219,11 @@ SECTIONS
                *(.data.cacheline_aligned)
        }
 
+       . = ALIGN(L1_CACHE_BYTES);
+       .data.read_mostly : {
+               *(.data.read_mostly)
+       }
+
        . = ALIGN(PAGE_SIZE);
        __data_nosave : {
                __nosave_begin = .;