Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 23 Jul 2010 20:26:16 +0000 (13:26 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 23 Jul 2010 20:26:16 +0000 (13:26 -0700)
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  vmlinux.lds: fix .data..init_task output section (fix popwerpc boot)
  powerpc: Fix erroneous lmb->memblock conversions
  powerpc/mm: Add some debug output when hash insertion fails
  powerpc/mm: Fix bugs in huge page hashing
  powerpc/mm: Move around testing of _PAGE_PRESENT in hash code
  powerpc/mm: Handle hypervisor pte insert failure in __hash_page_huge
  powerpc/kexec: Fix boundary case for book-e kexec memory limits

1  2 
include/asm-generic/vmlinux.lds.h

index 4b5902ad0d5d6d655178ae6cb4d1f1c23b34377c,cdfff74e973934f43918deb3058b087a02954023..030a954ed292a59feae0bbf8437f370127b22bd6
  /* Align . to a 8 byte boundary equals to maximum function alignment. */
  #define ALIGN_FUNCTION()  . = ALIGN(8)
  
 +/*
 + * Align to a 32 byte boundary equal to the
 + * alignment gcc 4.5 uses for a struct
 + */
 +#define STRUCT_ALIGN() . = ALIGN(32)
 +
  /* The actual configuration determine if the init/exit sections
   * are handled as text/data or they can be discarded (which
   * often happens at runtime)
        LIKELY_PROFILE()                                                \
        BRANCH_PROFILE()                                                \
        TRACE_PRINTKS()                                                 \
 +                                                                      \
 +      STRUCT_ALIGN();                                                 \
        FTRACE_EVENTS()                                                 \
 +                                                                      \
 +      STRUCT_ALIGN();                                                 \
        TRACE_SYSCALLS()
  
  /*
   */
  #define INIT_TASK_DATA_SECTION(align)                                 \
        . = ALIGN(align);                                               \
-       .data..init_task : {                                            \
+       .data..init_task :  AT(ADDR(.data..init_task) - LOAD_OFFSET) {  \
                INIT_TASK_DATA(align)                                   \
        }