Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 26 Sep 2009 17:51:54 +0000 (10:51 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 26 Sep 2009 17:51:54 +0000 (10:51 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
  alpha: fix build after vmlinux.lds.S cleanup
  mips: fix build of vmlinux.lds

1  2 
arch/alpha/kernel/vmlinux.lds.S

index 2906665b1c103199f1c660d34cc5b2027fb63243,55c3b23612a80fcb964089111a298c5e27374832..ecf4d488333d1c19369de7c1cdfabb91dd36ded0
@@@ -1,6 -1,6 +1,7 @@@
  #include <asm-generic/vmlinux.lds.h>
+ #include <asm/thread_info.h>
  #include <asm/page.h>
 +#include <asm/thread_info.h>
  
  OUTPUT_FORMAT("elf64-alpha")
  OUTPUT_ARCH(alpha)
@@@ -32,21 -32,88 +33,21 @@@ SECTION
        } :kernel
  
        RODATA
 -
 -      /* Exception table */
 -      . = ALIGN(16);
 -      __ex_table : {
 -              __start___ex_table = .;
 -              *(__ex_table)
 -              __stop___ex_table = .;
 -      }
 +      EXCEPTION_TABLE(16)
  
        /* Will be freed after init */
 -      . = ALIGN(PAGE_SIZE);
 -      /* Init code and data */
 -      __init_begin = .;
 -      .init.text : {
 -              _sinittext = .;
 -              INIT_TEXT
 -              _einittext = .;
 -      }
 -      .init.data : {
 -              INIT_DATA
 -      }
 -
 -      . = ALIGN(16);
 -      .init.setup : {
 -              __setup_start = .;
 -              *(.init.setup)
 -              __setup_end = .;
 -      }
 -
 -      . = ALIGN(8);
 -      .initcall.init : {
 -              __initcall_start = .;
 -              INITCALLS
 -              __initcall_end = .;
 -      }
 -
 -#ifdef CONFIG_BLK_DEV_INITRD
 -      . = ALIGN(PAGE_SIZE);
 -      .init.ramfs : {
 -              __initramfs_start = .;
 -              *(.init.ramfs)
 -              __initramfs_end = .;
 -      }
 -#endif
 -
 -      . = ALIGN(8);
 -      .con_initcall.init : {
 -              __con_initcall_start = .;
 -              *(.con_initcall.init)
 -              __con_initcall_end = .;
 -      }
 -
 -      . = ALIGN(8);
 -      SECURITY_INIT
 -
 +      __init_begin = ALIGN(PAGE_SIZE);
 +      INIT_TEXT_SECTION(PAGE_SIZE)
 +      INIT_DATA_SECTION(16)
        PERCPU(PAGE_SIZE)
 -
 -      . = ALIGN(2 * PAGE_SIZE);
 +      /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page
 +         needed for the THREAD_SIZE aligned init_task gets freed after init */
 +      . = ALIGN(THREAD_SIZE);
        __init_end = .;
        /* Freed after init ends here */
  
 -      /* Note 2 page alignment above.  */
 -      .data.init_thread : {
 -              *(.data.init_thread)
 -      }
 -
 -      . = ALIGN(PAGE_SIZE);
 -      .data.page_aligned : {
 -              *(.data.page_aligned)
 -      }
 -
 -      . = ALIGN(64);
 -      .data.cacheline_aligned : {
 -              *(.data.cacheline_aligned)
 -      }
 -
        _data = .;
 -      /* Data */
 -      .data : {
 -              DATA_DATA
 -              CONSTRUCTORS
 -      }
 +      RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE)
  
        .got : {
                *(.got)
        }
        _edata = .;     /* End of data section */
  
 -      __bss_start = .;
 -      .sbss : {
 -              *(.sbss)
 -              *(.scommon)
 -      }
 -      .bss : {
 -              *(.bss)
 -              *(COMMON)
 -      }
 -      __bss_stop = .;
 +      BSS_SECTION(0, 0, 0)
        _end = .;
  
        .mdebug 0 : {