# HG changeset patch
# User Jimi Xenidis <[EMAIL PROTECTED]>
# Node ID 5e4dcc79f29a9dc5217a86b561e36b8d07c2d7dc
# Parent  279843441136b04e11d8c49249c009ef7823cc5e
[POWERPC] Fix PHDR issues with large .data.percpu sections

From: Tony Breeds <[EMAIL PROTECTED]>

This patch tells the link to only create one PHDR and place all sections
in it, also removing an unrequired mapping for the .data.percpu section.

This avoids the "Not enough room for program headers (allocated 2, need 3)"

Booted on a JS20.

Signed-off-by: Tony Breeds <[EMAIL PROTECTED]>
---
 xen/arch/powerpc/xen.lds.S |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff -r 279843441136 -r 5e4dcc79f29a xen/arch/powerpc/xen.lds.S
--- a/xen/arch/powerpc/xen.lds.S        Wed Aug 16 17:19:38 2006 -0500
+++ b/xen/arch/powerpc/xen.lds.S        Thu Aug 17 07:10:57 2006 -0400
@@ -10,11 +10,15 @@ SEARCH_DIR("=/usr/local/lib64"); SEARCH_
 SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); 
SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); 
SEARCH_DIR("=/usr/lib");
 /* Do we need any of these for elf?
    __DYNAMIC = 0;    */
+PHDRS
+{
+  text PT_LOAD FILEHDR PHDRS;
+}   
 SECTIONS
 {
   /* Read-only sections, merged into text segment: */
   PROVIDE (__executable_start = 0x10000000); . = 0x10000000 + SIZEOF_HEADERS;
-  .interp         : { *(.interp) }
+  .interp         : { *(.interp) } :text
   .hash           : { *(.hash) }
   .dynsym         : { *(.dynsym) }
   .dynstr         : { *(.dynstr) }
@@ -121,7 +125,7 @@ SECTIONS
   __inithcall_end = .;
 
   __per_cpu_start = .;
-  .data.percpu : { *(.data.percpu) } :text
+  .data.percpu : { *(.data.percpu) }
   __per_cpu_data_end = .;
   . = __per_cpu_start + (NR_CPUS << PERCPU_SHIFT);
   . = ALIGN(STACK_SIZE);

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to