powerpc: Fix vmlinux.lds.S for 32-bit
authorPaul Mackerras <paulus@samba.org>
Fri, 4 Nov 2005 23:36:59 +0000 (10:36 +1100)
committerPaul Mackerras <paulus@samba.org>
Fri, 4 Nov 2005 23:36:59 +0000 (10:36 +1100)
We can't currently use asm-ppc/page.h in vmlinux.lds.S, so until
we have a merged page.h, define PAGE_SIZE and KERNELBASE locally.
Also gets rid of some dynamic executable cruft that we had for
32-bit.  With -Ttext=$(KERNELBASE) this didn't cause any problem,
but when we changed to putting . = KERNELBASE in the vmlinux.lds.S
this cruft caused the text to get linked at 0xa0 instead of
0xc0000000.  Oops.

Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/vmlinux.lds.S

index 9ceaa7a..7fa7b15 100644 (file)
@@ -1,5 +1,10 @@
 #include <linux/config.h>
+#ifdef CONFIG_PPC64
 #include <asm/page.h>
+#else
+#define PAGE_SIZE      4096
+#define KERNELBASE     CONFIG_KERNEL_START
+#endif
 #include <asm-generic/vmlinux.lds.h>
 
 ENTRY(_stext)
@@ -22,31 +27,6 @@ SECTIONS
   . = KERNELBASE;
 
   /* Read-only sections, merged into text segment: */
-#ifdef CONFIG_PPC32
-  . = + SIZEOF_HEADERS;
-  .interp : { *(.interp) }
-  .hash          : { *(.hash)          }
-  .dynsym        : { *(.dynsym)                }
-  .dynstr        : { *(.dynstr)                }
-  .rel.text      : { *(.rel.text)              }
-  .rela.text     : { *(.rela.text)     }
-  .rel.data      : { *(.rel.data)              }
-  .rela.data     : { *(.rela.data)     }
-  .rel.rodata    : { *(.rel.rodata)    }
-  .rela.rodata   : { *(.rela.rodata)   }
-  .rel.got       : { *(.rel.got)               }
-  .rela.got      : { *(.rela.got)              }
-  .rel.ctors     : { *(.rel.ctors)     }
-  .rela.ctors    : { *(.rela.ctors)    }
-  .rel.dtors     : { *(.rel.dtors)     }
-  .rela.dtors    : { *(.rela.dtors)    }
-  .rel.bss       : { *(.rel.bss)               }
-  .rela.bss      : { *(.rela.bss)              }
-  .rel.plt       : { *(.rel.plt)               }
-  .rela.plt      : { *(.rela.plt)              }
-/*  .init          : { *(.init)        } =0*/
-  .plt : { *(.plt) }
-#endif
   .text : {
     *(.text .text.*)
     SCHED_TEXT